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

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

請問大神,這個代碼里我哪里寫錯了?出來的成績變成亂碼了額……我是女生,輕拍~哈哈

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);
??? }
}

正在回答

4 回答

這里亂碼的原因我想是因為你在輸出成績的時候沒有用 Arrays.toString() 方法將你自己定義的 grade 數組轉化為字符串類型,所以你得到的是亂碼,可以在去看一下數組第一、二節哈。當然,按照練習的輸出要求,是要分行輸出的,所以還是用 for 循環遍歷 grade 數組的元素,然后分別輸出好了。

另外,for 循環的括號里是可以有多個變量的,就像你寫的這樣,只要用 ',' 隔開就好了,你寫的很好啊,但是你在確保只輸出前三名成績的方法上做錯了,按你寫的,是用 j 控制 grade 中的元素最多只有 3 個,但是將 j++ 放在 for 的 () 里,那么 j++ 會無條件執行。應該將 j 變量的自增放到 if 條件語句中去。

希望對你有幫助。



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

Simple__Garden 提問者

非常感謝!真的!你真的好負責!好感動!
2015-03-23 回復 有任何疑惑可以回復我~

for循環寫錯了 ?()里面的東西太多了 ?你不可能不知道for循環的語法吧!這么亂!


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

Simple__Garden 提問者

請問for循環的()里是不是只能有一個變量?
2015-03-13 回復 有任何疑惑可以回復我~
#2

夜楓丶 回復 Simple__Garden 提問者

是的!
2015-03-13 回復 有任何疑惑可以回復我~
#3

Simple__Garden 提問者 回復 夜楓丶

噢噢謝謝你哈~~
2015-03-14 回復 有任何疑惑可以回復我~

直接建議不要寫代碼。。。錯誤一堆。。。不是亂,是錯誤一堆。。。。

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

Simple__Garden 提問者

有這么夸張么額……到底哪里錯了能提示一下嗎?
2015-03-12 回復 有任何疑惑可以回復我~
#2

mongoos

都是這個階段過來的,就你牛逼
2015-03-14 回復 有任何疑惑可以回復我~

你的 for 循環寫的好給力呀 ?,

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

舉報

0/150
提交
取消

請問大神,這個代碼里我哪里寫錯了?出來的成績變成亂碼了額……我是女生,輕拍~哈哈

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

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

幫助反饋 APP下載

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

公眾號

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