给定一个整型数组(用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);
这样就可以了亲亲~
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消