我必须编写一个方法,该方法返回整数值ArrayList的第二大索引。如何在java中查找arraylist的第二大索引
阵列列表是: 4 8 15 16 23 42 97 56 95 85 63 41 52 99 97 Q
的Q是有标记的输入的结束。我正在使用fileIn.hasNextInt()来读取输入并检查它是否是整数。
我的逻辑问题是它只循环访问ArrayList并返回ArrayList的最后一个索引而不是第二大值的索引。
这里是我的代码:
public static int secondMaxIndex(ArrayList<Integer> intArray){
int largest = intArray.get(0);
int largest2 = intArray.get(0);
int maxIndex2 = 0;
for(int i = 0; i <= intArray.size() - 1; i++){
if(largest < intArray.get(i)){
largest = intArray.get(i);
}
}
for(int j = 0; j <= intArray.size() - 1; j++){
if(intArray.get(j) < largest){
maxIndex2 = j;
}
}
return maxIndex2;
}
不错的使用迷失号码。 =) –
你的第二个for循环遍历整个数组并返回小于第一个循环中已找到的最大值的最后一个值 –