如何使用num>3时就输出了前三名呢?数组排序后变成了 119,91,89,73,64,52,-23,数组从最后开始遍历,当遍历到num>3即数组元素89时,不是退出循环了吗?那不是输出73,64,52吗?是如何输出91,89,73的呢?小妹不解,求大神详解!谢谢!
Arrays.sort这个方法是升序排序的,而不是降序,所以,是你搞反了。
建议你以后遇到问题可以试着自己解决,就是以调试的方向去看,你觉得输出反了,哪个不对,都可以用out输出看看
你排序之后 付给三个变量 然后输出不就好了
我知道这个程序正确,但我的问题是这个程序如何解读的,是如何得出这样的结果的?请注意看我的问题描述,谢谢大神
import java.util.Arrays;
public class Hello {
public static void main(String[] args) {
int[] scores={89,-23,64,91,119,52,73};
Hello hello=new Hello();
System.out.println("前三名有效成绩是:");
hello.ShowTop3(scores);
}
private void ShowTop3(int[] scores) {
Arrays.sort(scores);
int number=0;
for(int i=scores.length-1;i>=0;i--){
if(scores[i]<0||scores[i]>100){
continue;
}else
number++;
if(number>3){
break;
}
System.out.println(scores[i]);
}
}
}
输出:
前三名有效成绩是:
91
89
73
敲了,没问题啊;
你这程序应该是正确的啊,我敲一下看看
我错了加不加都1样
你那个//...忽略此成绩}后面是不是要加个else