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

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

以這樣的程序,如何輸出前三名。

public static void main(String[] args) {?

? ? HelloWord hello=new HelloWord();

? ? hello.score();


}

public void score() {

int max=0;

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

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

if(score[i]>=0 && score[i]<=100) {

if(max < score[i]) {

max=score[i];

}

}

}

System.out.println("考試成績的前三名為:");

for(int x=0;x<3;x++) {

System.out.println(max);

}

}

}


正在回答

4 回答

還有一種方法 改前面的for循環

代碼如下:

public void score() {

int max=0;

int[] max=new int[3];? //取前3,因此數組長度為3

int count=0;? //該變量代表有效值次數

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

Arrays.sort(score); // 給數組score從低到高排序,第一行上邊要有import??java.util.Arrays;

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

if(score[i]>=0 && score[i]<=100) {

if(max < score[i]) {

max=score[i];

}

改為:

if(score[i]<0||score[i]>100){

continue;

}? ? ?//跳過無效值

count++;? //遍歷一個有效值,有效值次數加1?

if(count>=3){

break;

}

max[count-1]=score[i];? //此時count的值為1到3,賦值之后的數組max中的值從大到小排列

}

}

System.out.println("考試成績的前三名為:");

for(int x=0;x<3;x++) {


System.out.println(max);

}

}



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

把max定義為數組

代碼如下

public void score() {

int max=0; //這個注釋掉

int[] max=new int[];?

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

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

if(score[i]>=0 && score[i]<=100) {

if(max < score[i]) {

max=score[i];

}

改為:

max[i]=score[i];? ?//這時數組max里的值都為有效數值

}

}

Arrays.sort(max); //給數組max排序,從低到高

System.out.println("考試成績的前三名為:");

for(int x=0;x<3;x++) {


System.out.println(max);

}

改為:

for(int x=max.length-1;x>max.length-4||x>=0;x--){? ?//輸出數組后三個數值,若數組中的數值數量小于3,則輸出全部數值

????????System.out.println(max[x]);

}

}


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

慕瓜453346

max[i]=score[i]; //這時數組max里的值都為有效數值 這里max里面能為i嗎??
2018-10-10 回復 有任何疑惑可以回復我~

你在if條件下給max賦了值,max就會一直變到循環結束,之后成為一個定值,比如一百以內最大值是89,max則在89時就不會變化。以至于在下面輸出時候只能輸出三個89。在這種前提下只是取出數組中一百以內的最大值,不能得到一百以內的前三大的值。

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

按你這個自己定義的方法是無法輸出前三名的,只能輸出三次同一個最大值

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

慕粉4333732 提問者

那在這種前提現下,修改代碼能否達到想要的結果?請指教
2018-10-03 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

以這樣的程序,如何輸出前三名。

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

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

幫助反饋 APP下載

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

公眾號

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