处理我们需要单独方法来查找最高和第二高数字的程序。我的代码找到了最高的数字,但我无法弄清楚如何找到第二高的数字。
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;
}
答案 0 :(得分:1)
我不喜欢使用-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;
}
答案 1 :(得分:0)
public static int secondHighest(int[] array1)
{
int highest = highestNumber(array1);
int max = -9999999;
for( int i = 0; i < array1.Length; i++)
{
if(array[i] > max && array[i] < highest) max = array[i];
}
return max;
}