亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

哪里出錯了,求解?。。。。。?!

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]);
??? }
?? ?
}

正在回答

3 回答

?其一,for (int i=0;i<scores.length;i++)改為for(int i=scores.length-1;i>=0;i--),因為排序后大元素在最后面小元素在最前面,所以要逆序循環;

其二,while(j==3){break;}應該為if(j==3){break;},因為break只是跳出一層循環,所以break跳出的是while循環而不是外層的for循環。此外建議(j==3)改為j==fen.length比較好一些。

0 回復 有任何疑惑可以回復我~
#1

九章哀郢

System.out.println(fen[0]+"\n");可不用加"\n",因為rprintln會在字符串后添加換行符,而print則不會。
2019-07-19 回復 有任何疑惑可以回復我~

感謝大佬!已成功運行

0 回復 有任何疑惑可以回復我~

你這好像還是在第一個for循環里面吧

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167476    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

哪里出錯了,求解?。。。。。。?/h1> 我要回答 關注問題

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號