我运行下面的代码的结果永远是“timeout”。自己也看不出毛病,请大神指点一下。
import java.util.Arrays; public class HelloWorld { //完成 main 方法 public static void main(String[] args) { int[] scores={89,-23,64,91,119,52,73}; System.out.println("考试成绩前三名为:"); HelloWorld hello=new HelloWorld(); hello.scoreTop3(scores); } //定义方法完成成绩排序并输出前三名的功能 public void scoreTop3(int[] scores){ Arrays.sort(scores); int count=0; for(int i=scores.length - 1;i>=0;i--){ while(scores[i]<0||scores[i]>100){ continue; } count++; if(count>3){ break; } System.out.println(scores[i]); } } }
//完成 main 方法
public static void main(String[] args) {
int[] scores={89,-23,64,91,119,52,73};
System.out.println("考试成绩前三名为:");
HelloWorld hello=new HelloWorld();
hello.scoreTop3(scores);
}
//定义方法完成成绩排序并输出前三名的功能
public void scoreTop3(int[] scores){
Arrays.sort(scores);
int count=0;
for(int i=scores.length - 1;i>=0;i--){
while(scores[i]<0||scores[i]>100){
continue;
}
count++;
if(count>3){
break;
}
System.out.println(scores[i]);
}
}
}
18行那里是要做if判断啊,写成while了,scores[i]一直是119,条件成立进入循环,接着continue又回到了while,所以死循环了。