關(guān)于本任務(wù)的另一種實(shí)現(xiàn)方法
public class HelloWorld {
???
??? //完成 main 方法
??? public static void main(String[] args) {
??????? int[] scores={89,-23,64,91,119,52,73};
??????? HelloWorld hello=new HelloWorld();
??????? System.out.println("考試成績(jī)的前三名為:");
??????? hello.get123(scores);
??????? }
???
??? //定義方法完成成績(jī)排序并輸出前三名的功能
??? public void get123(int[] scores){
??????? int max1=scores[0];
??????? int max2=scores[0];
??????? int max3=scores[0];
??????? for(int i=0;i<scores.length;i++){
??????????? if(scores[i]>0&&scores[i]<100){
??????????????? if(max1<scores[i]){
??????????????????? max1=scores[i];
??????????????? }
??????????????
??????????? }
??????? }
??????? for(int j=0;j<scores.length;j++){
??????????? if(scores[j]>0&&scores[j]<100){
??????????????? if(scores[j]>max2&&scores[j]<max1){
??????????????????? max2=scores[j];
??????????????? }
??????????? }
??????? }
??????? for(int k=0;k<scores.length;k++){
??????????? if(scores[k]>0&&scores[k]<100){
??????????????? if(scores[k]>max3&&scores[k]<max2){
??????????????????? max3=scores[k];
??????????????? }
??????????? }
??????? }
??????? System.out.println(max1);
??????? System.out.println(max2);
??????? System.out.println(max3);
??? }
???為什么這個(gè)代碼執(zhí)行出來結(jié)果是這樣,第三名成績(jī)?cè)趺闯霾粊?/p>
考試成績(jī)的前三名為:
91
89
89
2016-12-24
? ? ? ? int max1=scores[0];
??????? int max2=scores[0];
??????? int max3=scores[0];
你這里賦值就直接三個(gè)變量全是89了,我的親。后面兩個(gè)循環(huán)的里面的條件判斷語句
?if(scores[j]>max2&&scores[j]<max1){
if(scores[k]>max3&&scores[k]<max2){
這兩個(gè)條件都為假,里面的賦值語句都沒執(zhí)行過。