求大神解答,感激不盡
public class Java8_1 {
public static void main(String[]args){
System.out.println("前3名成績?yōu)?);
Java8_1 hello=new Java8_1();
? ? ? ? ?hello.getscores(scores);//還有括號里的參數(shù)為什么不能寫成scores[i];
? ??
}
public void getscores(int[] scores){
int[] scores={89,-23,64,91,119,52,73};//為什么定義數(shù)組放在這里就出錯了???難道一定要開頭就定義嗎?
Arrays.sort(scores);
int nums=0;
for (int i=scores.length-1;i>0;i--){
if (scores[i]<=0||scores[i]>100){continue;
}nums++;
if (nums>3){
break;
}
System.out.println(scores[i]);
}
}
}
2015-03-10
第一個問題:為什么scores放在getscores中不行?
答:是因為getscores()這個方法中的參數(shù)就是int類型的數(shù)組,并且名字為scores。那么在Java中是在定義之后的變量是不允許再次定義的。所以不能在getscores()這個方法中,除非你換個名字。
第二個問題:為什么在main函數(shù)中g(shù)etscores括號中不能寫scores[i]?
答:是因為你在定義getscores方法時,參數(shù)的類型為int類型的數(shù)組,而scores[i]是數(shù)組中的一個變量,所以是不可以的,另一個原因是因為在main方法中沒有i這個變量,所以會報錯
2015-03-10
int[] scores={89,-23,64,91,119,52,73};要定義在開頭,因為hello.getscores(scores);調(diào)用了,如果像上面這樣,該數(shù)組就只能在該函數(shù)內(nèi)使用,執(zhí)行到hello.getscores(scores);的時候會報scores is undefined之類的錯誤;
至于?hello.getscores(scores);//還有括號里的參數(shù)為什么不能寫成scores[i];
如果你要scores[i],首先你要把int[] scores={89,-23,64,91,119,52,73};定義在開頭,然后在定義一個i,不過在這里完全沒意義。