给定一个整型数组(用Math.random()随机函数产生),数组成员10个,求该数组中第二大的数
1个回答
关注
展开全部
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] shuffle = new int[10];
int temp;
int randomor(int i = arr.length - 1; i >= 0; i--) {
random = (int) (Math.random() * i);
temp = arr[random];
arr[random] = arr[i];
arr[i] = temp;
这段代码定义了一个整型数组`arr`,然后定义了一个新的数组`shuffle`,用于存储随机排列的数组成员。其中,`randomor`函数用于随机打乱数组元素,并确保第二大的数在正确的位置上。请注意,由于这段代码中存在一些语法错误和逻辑错误,因此我无法保证它能正确地运行。如果你能提供更多关于你想要实现的具体目标的信息,我将能够更好地帮助你。
咨询记录 · 回答于2024-01-11
给定一个整型数组(用Math.random()随机函数产生),数组成员10个,求该数组中第二大的数的下标
OK
你好亲亲,给定一个整型数组用Math.random()随机函数产生,数组成员10个,求该数组中第二大的数的下标是
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] shuffle = new int[10];
int temp;
int randomor(int i = arr.length - 1; i >= 0; i--){
random = (int) (Math.random() * i);
temp = arr[i];
# 数组
数组是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。
组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。
数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组。
我先去试试
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] shuffle = new int[10];
int temp;
int random;
for (int i = arr.length - 1; i >= 0; i--) {
random = (int) (Math.random() * i);
temp = arr[i];
arr[i] = arr[random];
arr[random] = temp;
shuffle[i] = arr[i];
1. 在数组元素之间添加了适当的空格,以提高可读性。
2. 将代码块进行了适当的缩进,以更清晰地展示其结构。
这个就是了亲亲,上面那个不够详细~
你用下面这个方法呀亲亲~
用的就是下面的
int[] nums = {7, 4, 5, 2, 8, 18, 4, 9, 9};
// 最大数
int max = nums[0];
int maxIndex = 0;
// 第二大数
int second = 0;
// 第二大下标
int secondIndex = 0;
for (int i = 0; i nums.length; i++) {
if (nums[i] > max) {
second = max;
secondIndex = maxIndex;
max = nums[i];
maxIndex = i;
} else { // 如果小于为第二大比较
if (nums[i] > second) {
second = nums[i];
secondIndex = i;
}
}
System.out.println("第二大数是" + second + "下标为是" + secondIndex);
亲亲,这个就可以了,最严谨的了
Math.random()要有这个,没有就偏题了
哈?这么严谨的嘛
你自己加进去就可以了 呀亲亲~
我不会
int[] nums = {7, 4, 5, 2, 8, 18, 4, 9, 9};
// 获取最大数
int max = nums[0];
int maxIndex = 0;
// 获取第二大数
int second = 0;
// 第二大数的下标
int secondIndex = 0;
for (int i = 0; i nums.length; i++) {
if (nums[i] > max) {
second = max;
secondIndex = maxIndex;
max = nums[i];
maxIndex = i;
} else {
// 如果小于最大数为第二大数比较
if (nums[i] > second) {
second = nums[i];
secondIndex = i;
}
}
System.out.println("第二大数是" + second + "下标为是" + secondIndex);
这样就可以了亲亲~