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

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

只輸出前三名 不知道哪里不對 求指點

import java.util.Arrays;



public class HelloWorld {


public static void main(String[] args) {

// TODO 自動生成的方法存根

int scores[] ={89,-23,64,91,119,52,73};

?

? ? ? ?Arrays.sort(scores);

? ? ? ?

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

? ? ? ? ? ?int a=0;

? ? ? ? ? ?a++;

? ? ? ? ? ?System.out.println("第"+a+"名"+" "+scores[i]);?


}


}

}


正在回答

3 回答

循環第一次 i= scores.length,然后scores[i]

此時數組就越界了

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

慕斯4840584 提問者

為啥呢
2015-04-02 回復 有任何疑惑可以回復我~
#2

迷茫_先森 回復 慕斯4840584 提問者

scores.length=7, scores[0]=89 scores[1]=-23 scores[2]=64 scores[3]=91 scores[4]=119 scores[5]=52 scores[6]=73 明白了?
2015-04-03 回復 有任何疑惑可以回復我~
#3

慕斯4840584 提問者 回復 迷茫_先森

原來如此 感激不盡感激不盡
2015-04-04 回復 有任何疑惑可以回復我~

你的意思是不是只輸入排好序的前三名:

public class Hello {


public static void main(String[] args) {

int scores[] ={89,-23,64,91,119,52,73};

sort( scores);

}

static void ?sort(int scores[]){

int temp=0;

for (int i = 0; i < scores.length; i++) {

for (int j = 0; j < scores.length-1; j++) {

if(scores[j]<scores[j+1]){

temp = scores[j];

scores[j]=scores[j+1];

scores[j+1]=temp;

}

}

}

for (int i = 0; i < scores.length-4; i++) {

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

}

}

}



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

scores[i], ? i 是從0開始的! ?"scores.length"值為7,scores[i] ,i最大值為6!

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

舉報

0/150
提交
取消

只輸出前三名 不知道哪里不對 求指點

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

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

幫助反饋 APP下載

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

公眾號

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