請問大神,這個代碼里我哪里寫錯了?出來的成績變成亂碼了額……我是女生,輕拍~哈哈
import java.util.Arrays;
public class HelloWorld {
???
??? //完成 main 方法
??? public static void main(String[] args) {
??? int[] scores={89,-23,64,91,119,52,73};???
???? HelloWorld hello=new HelloWorld();??
?????? hello.scores(scores);
???????
??? }
???
??? //定義方法完成成績排序并輸出前三名的功能
???
??? public void scores(int[] scores){
?????? int[] grade=new int[3];
?????? Arrays.sort(scores);
?
?? for(int i=scores.length-1,j=0;i>=0&&j<3;i--,j++){
?????? if (scores[i]<0||scores[i]>100){
?????????? continue;
?????? }
????????? grade[j]=scores[i];
????????
}
?System.out.println("前三名成績"+grade);
??? }
}
2015-03-22
這里亂碼的原因我想是因為你在輸出成績的時候沒有用 Arrays.toString() 方法將你自己定義的 grade 數組轉化為字符串類型,所以你得到的是亂碼,可以在去看一下數組第一、二節哈。當然,按照練習的輸出要求,是要分行輸出的,所以還是用 for 循環遍歷 grade 數組的元素,然后分別輸出好了。
另外,for 循環的括號里是可以有多個變量的,就像你寫的這樣,只要用 ',' 隔開就好了,你寫的很好啊,但是你在確保只輸出前三名成績的方法上做錯了,按你寫的,是用 j 控制 grade 中的元素最多只有 3 個,但是將 j++ 放在 for 的 () 里,那么 j++ 會無條件執行。應該將 j 變量的自增放到 if 條件語句中去。
希望對你有幫助。
2015-03-13
for循環寫錯了 ?()里面的東西太多了 ?你不可能不知道for循環的語法吧!這么亂!
2015-03-12
直接建議不要寫代碼。。。錯誤一堆。。。不是亂,是錯誤一堆。。。。
2015-03-12
你的 for 循環寫的好給力呀 ?,