public double getBalance(int account){ for(int i=0; i<this.account.size(); i++) { BankAccount anAccount = this.account.get(i); if(anAccount.getAccountNumber()==account) { double balance = anAccount.getBalance(); return balance; } }}該方法給我的錯誤是該方法必須返回 double 類型的結(jié)果,即使我清楚地返回來自返回 double 的 getBalance() 方法的余額。為什么它不起作用?我不明白。
3 回答

ABOUTYOU
TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊
您return
在一個if
塊中有語句,因此您并不總是返回double
. 所以編譯器會給你錯誤。
你需要另一個return
出去。

湖上湖
TA貢獻(xiàn)2003條經(jīng)驗 獲得超2個贊
不是因為缺少return
陳述。
想想如果你會怎么做anAccount.getAccountNumber() != account
?
當(dāng)您處理此類情況并為此類情況返回適當(dāng)/默認(rèn)值時,編譯錯誤應(yīng)該消失。

冉冉說
TA貢獻(xiàn)1877條經(jīng)驗 獲得超1個贊
如果this.account.size()
將是零或更少會發(fā)生什么?您的方法必須返回一個值,但您沒有定義它。
內(nèi)部 if 條件相同,如果不為真則必須返回值
添加回答
舉報
0/150
提交
取消