為什么輸出的結果一直是timeout? 這是死循環嗎?
我運行下面的代碼的結果永遠是“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]);
? ? ? ??
? ? }
? ??
}
}
2018-02-25
18行那里是要做if判斷啊,寫成while了,scores[i]一直是119,條件成立進入循環,接著continue又回到了while,所以死循環了。