哪里出錯了,求解?。。。。。?!
import java.util.Arrays;
public class HelloWorld {
?? ?
??? //完成 main 方法
??? public static void main(String[] args) {
??? int scores[]={89,-23,64,91,119,52,73};
??? HelloWorld hello=new HelloWorld();
??? hello.san(scores);?
??? }
?? ?
??? //定義方法完成成績排序并輸出前三名的功能
?? ?
??? public void san(int scores [])
??? {
??????? Arrays.sort(scores);
??????? int fen[]=new int [3];
??????? int j=0;
??????? for (int i=0;i<scores.length;i++)
??????? {
??????????? if(scores[i]>=0 && scores[i]<=100)
??????????? {
??????????????? fen[j]=scores[i];
??????????????? j++;
??????????????? while(j==3)
??????????????? break;
??????????? }
??????? }
??????? System.out.println(fen[0]+"\n");
??????? System.out.println(fen[1]+"\n");
??????? System.out.println(fen[2]);
??? }
?? ?
}
2019-07-19
?其一,for (int i=0;i<scores.length;i++)改為for(int i=scores.length-1;i>=0;i--),因?yàn)榕判蚝蟠笤卦谧詈竺嫘≡卦谧钋懊妫砸嫘蜓h(huán);
其二,while(j==3){break;}應(yīng)該為if(j==3){break;},因?yàn)閎reak只是跳出一層循環(huán),所以break跳出的是while循環(huán)而不是外層的for循環(huán)。此外建議(j==3)改為j==fen.length比較好一些。
2019-07-19
感謝大佬!已成功運(yùn)行
2019-07-18
你這好像還是在第一個for循環(huán)里面吧