思路
* 1.在方法中创建一个新的数组用来存储原数组的数据;
* 2.将原数组利用冒泡排序进行排列(利用ArrayList集合也可以,调用sort()方法);
* 3.遍历排序后的数组,通过==运算符进行比较新数组中的那个元素等于排序后的第二大数据;
* 4.返回索引/下标;
具体细节见代码注释
public class Example110 {
public static void main(String[] args) {
// 创建一个int数组 静态创建
int[] arr = { 22, 55, 4, 54, 67, 5 };
// 调用方法
int secminindex = Example110.getSecminindex(arr); // index
// 输出结果
System.out.println("数组中第二大的数的下标为:" + secminindex);
}
public static int getSecminindex(int[] arr) {
// 1.创建一个新的数组用来存储原数组的数据;动态创建
int[] newarr = new int[arr.length];
// for循环遍历将原数组的数据赋值给新数组,以便将来进行比较
for (int i = 0; i < arr.length; i++) {
newarr[i] = arr[i]; // 遍历一个存储一个
}
// 冒泡排序进行对原数组进行排序
for (int i = 0; i < arr.length - 1; i++) { // n个数据只用比较n-1次
for (int j = 0; j < arr.length - 1 - i; j++) { // 每比较完一次就要少一个元素参与比较
if (arr[j] > arr[j + 1]) { // 比较进行交换位置将大的排在后面小的排在前面
int temp = arr[j]; // temp变量就相当于一个瓶子暂时存一哈
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
// for循环进行遍历新数组开始求出第二小的索引值
// 定义一个变量接收索引的值
int index = 0;
for(int i = 0;i
不要觉得注释多,注释只会让你每次刷题养成一个好的习惯,回顾起来也很方便。



