import java.util.Arrays;
public class method2 {
//完成 main 方法
public static void main(String[] args) {
method2 hello=new method2();
int[] scores={89,-23,64,91,119,52,73};
hello.sortScore(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void sortScore(int[] scores){
Arrays.sort(scores);
int count=0;
for(int i=scores.length-1;i>=0;i--){
if(scores[i]<0||scores[i]>100){
continue;
}
else{
System.out.println(scores[i]);
count++;
if(count>=3){//****************这里用while为什么结果不一样?********
break;
}
}
}
}
}
第一:你用使用if判断结束for循环,程序是完全正确的;
第二:若将if换成while,则for循环里嵌套了一个while循环,
第三:break语句位于while循环体内则代表结束while循环,
第四:while循环判断语句为count>=3,仅当满足条件while退出,
第五:while循环退出之后等于没有,此时for循环做的事就是遍历并输出排序后的符合第一个if条件下的值
而且你的这个代码最后面多了一个大括号
while里用 break 是跳出 while循环 ,用 if才会是 跳出 for循环。
if是判断语句,while是循环语句你搞混了啊