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

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

代碼驗證對的,但是找運行不出結果

老師好,沒找出原因,哪里不對

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.showTop3(scores);

}

? ? //定義方法完成成績排序并輸出前三名的功能

? ? public void showTop3(int[] scores)

? ? {

? ? ? ? Arrays.sort(scores);//使用Arrays.sort的方式實現數組排序

? ? ? ? int num = 0;

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

? ? ? ? {

? ? ? ? ? ? if(scores[i]<0||scores[i]>100) ? ?// 判斷成績的有效性

? ? ? ? ? ? {

? ? ? ? ? ? ? ? continue; //如果成績無效,則退出本次循環,忽略此成績

? ? ? ? ? ? }

? ? ? ? ? ? num++;

? ? ? ? ? ? if(num>3)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? break;

? ? ? ? ? ? }

? ? ? ? ? ? System.out.println(scores[i]); ? ? ??

? ? ? ? }

? ? }

}

運行結果:

考試成績前三名:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at HelloWorld.showTop3(HelloWorld.java:19)
at HelloWorld.main(HelloWorld.java:10)

正在回答

1 回答

(int i = scores.length;i>=0;i--)這里有問題。因為數組下標的取值范圍是0到scores.length-1

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

慕大俠 提問者

哦哦,原來是這樣,看來我理解的不夠好,非常感謝您!
2015-08-09 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

代碼驗證對的,但是找運行不出結果

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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