第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

下面的帶參并且有返回值的方法哪里出錯(cuò)了,求大神指教。

http://img1.sycdn.imooc.com//57cffcba000197e608120456.jpgeclipse顯示的報(bào)錯(cuò)信息在定義方法的第一行出錯(cuò)了

正在回答

8 回答

我先說一下你的意思:“在main中給出一組成績,然后先通過刪選,排除錯(cuò)誤的數(shù)據(jù),也就是119,-23,然后再通過函數(shù)調(diào)用獲得你想要的前三名”對(duì)吧?

接下來,我說一下,里面遇到的小錯(cuò)誤:

  1. http://img1.sycdn.imooc.com//57d0cd85000133f902390072.jpg這里的num1,你的意思是判斷是不是前三名,然后跳出循環(huán)的意思,但假設(shè)當(dāng)num1=3的時(shí)候,程序跳出循環(huán),return 是在循環(huán)內(nèi)部,所以程序會(huì)執(zhí)行不到,也就是說,你的程序沒有返回值,這就是你問的錯(cuò)誤

  2. 上面有人說把,return拿到外面去,也是不對(duì)的,首先i是局部變量,只在循環(huán)中有效,出了循環(huán)就沒有作用,會(huì)出現(xiàn)空指針,這時(shí)候或許可以把i作用域擴(kuò)大成方法內(nèi),也就是這樣http://img1.sycdn.imooc.com//57d0cec10001256104190093.jpg然后返回設(shè)置成這樣http://img1.sycdn.imooc.com//57d0cee30001c77e02670086.jpg

    程序就沒有問題

  3. 但返回回去的num,沒有進(jìn)行輸出,你忘記輸出了,因?yàn)槟惴祷氐闹皇且粋€(gè)int值,所以你輸出的結(jié)果也只是一個(gè)http://img1.sycdn.imooc.com//57d0cf8d00017c5a03120098.jpg

    以上就是你遇到的小錯(cuò)誤了


    至于正確的做法有以下幾個(gè)思路:

    1.定義一個(gè)方法,這方法的功能就是輸出前三個(gè)的成績,把System.out.println都放在方法里面,提高代碼的簡潔性,main里面放方法就好,輸出什么的都放其他方法里面,然后在循環(huán)里面每找到一個(gè)輸出一個(gè),最簡單的一種方法

    2.其次,如果你要獲得前三名成績,并對(duì)成績數(shù)據(jù)進(jìn)行處理,建議用上面的返回類型是int【】數(shù)組,得到后,想打印,想修改,都沒問題

    3.第三種,如果你非要把方法定義成int值,那你可以在main函數(shù)里面定一個(gè)循環(huán),跟一個(gè)全局變量,這個(gè)變量在main函數(shù)里跟top里面都要用到,找到一個(gè),返回一個(gè)int值。

    以上就是所有的錯(cuò)誤跟解決的思路,正確程序相信你可以做出來的!??!望采納~

2 回復(fù) 有任何疑惑可以回復(fù)我~
#1

丘頁 提問者

非常感謝!
2016-09-15 回復(fù) 有任何疑惑可以回復(fù)我~

你仔細(xì)看一下,你這樣91,89,73都可以被返回。

最大的119被continue掉,循環(huán)到第二大的91時(shí),由于這是num1是1,return語句會(huì)被執(zhí)行。但num1還沒大于3,for循環(huán)還再繼續(xù)。

0 回復(fù) 有任何疑惑可以回復(fù)我~

哥們,按照你的思路,這個(gè)方法必須返回一個(gè)數(shù)組,返回值寫成int當(dāng)然是不行的!

public?int[]??top3(int[]scores){
????int?num?=0;
????int[]t=new?int[3];
????scores.sort();
????for(int?i?=scores.length();i>0;i--){
????????if(scores[i]>100||scores[i]<0)continue;
????????else{
????????t[num++]=scores[i];
????????if(num==3)break;
????????}
????}
????return?int[]t;
}


0 回復(fù) 有任何疑惑可以回復(fù)我~

return不能寫在循環(huán)里面 ?

但是每個(gè)方法只能return一個(gè)值

所以按理說這個(gè)程序不能有返回值 ?而是在方法里面就把成績給輸出來(可能有但是我沒有想到)

剛前面說的大括號(hào)其實(shí)沒多 ?是我看錯(cuò)了。

所以這個(gè)可以改成http://img1.sycdn.imooc.com//57d01496000186f705500301.jpg這個(gè):



然后main函數(shù)里直接調(diào)用就可以。


0 回復(fù) 有任何疑惑可以回復(fù)我~

估計(jì)你那個(gè)return語句放錯(cuò)位置了把

0 回復(fù) 有任何疑惑可以回復(fù)我~

public void top(int [] scores){ ? 改為 ? ? public void top3(int [] scores){

0 回復(fù) 有任何疑惑可以回復(fù)我~

public void top(int [] scores){ ? 改為 ? ? public void top3(int [] scores){

0 回復(fù) 有任何疑惑可以回復(fù)我~

你最下面多了一個(gè)大括號(hào)吧

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

宇哥sss丶

你仔細(xì)檢查一下那個(gè)大括號(hào)。return 也不應(yīng)該在呢個(gè)for的大括號(hào)里面吧
2016-09-07 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

下面的帶參并且有返回值的方法哪里出錯(cuò)了,求大神指教。

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)