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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求大神解釋下,為什么錯了????

求大神解釋下,為什么錯了????

孟應杰 2016-10-16 02:18:21
public class m8_1 {?public static void main (String[] args) {??System.out.println("前三名的成績依次是:");??int scores []? ={89,-23,64,91,119,52,73};??m8_1 hello =new m8_1();??hello.mY(scores);?}?public void mY (int scores[]){??Arrays.sort(scores);??int count = 1;??for(int i=scores.length; i>=0 ; i--){???if(scores[i] > 0&&scores[i] < 100){????System.out.println(scores[i]);????count++;????if(count==3){????break;?????}????else{?????continue;????}???}???else{????continue;???}?????}?}}
查看完整描述

3 回答

?
慕粉4065503

TA貢獻3條經驗 獲得超1個贊

for(int i=scores.length; i>=0 ; i--){}

i的值不能等于數組的長度的 ,數組的長度是從0開始的。舉個列子長度為2的scores[]數組只有scores[0],scores[1]這兩個,你讓i=2,系統會報錯,所以這句改成for(int i=scores.length-1; i>=0 ; i--){}

還有個錯誤是count這變量是控制for循環的次數的 你要輸出3次就要讓count自加3次,在你的程序中只有2次,可以將count初始值改為0,或者將if中條件count==0改為count>3.


查看完整回答
反對 回復 2016-10-18
?
望遠

TA貢獻1017條經驗 獲得超1032個贊

?數組下標越界了

for(int i=scores.length; i>=0 ; i--){

}

應該是從i=scores.length-1開始

還有一個錯誤就是應該將count的值賦初值0,才符合邏輯

查看完整回答
反對 回復 2016-10-16
  • 3 回答
  • 0 關注
  • 1166 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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