正在开发一个程序,我们需要单独的方法来查找最高和第二高的数字。我的代码可以很好地找到最高的数字,但我不知道如何找到第二高的数字。
public static int highestNumber(int []array1) {
int max = -999999;
for (int i = 1; i < array1.length; i++) {
if (array1[i] > max) {
max = array1[i];
}
}
return max;
}
public static int secondHighest(int []array1) {
int highest= highestNumber(array1);
int secondHighest = array1[0];
for (int i=1; i<array1.length; i++){
if(array1[i]> highest && array1[i] secondHighest);
secondHighest=array1[i];
}
return secondHighest;
}
最佳答案
我不喜欢使用-9999999,请使用Integer.MIN_VALUE或使用数组的第一个索引,
但是当使用第一个索引时,请确保数组的长度必须大于或等于1
public static int secondHighest(int[] array1)
{
int highest = highestNumber(array1);
int max = array[0];
for( int i = 1; i < array1.Length; i++)
{
if(array[i] > max && array[i] < highest){
max = array[i];
}
}
return max;
}
关于java - 如何找到数组中第二大的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49787568/