看板 java 關於我們 聯絡資訊
44 public String toString() 45 { 46 if(imaginary==0) 47 return (real+""); 48 49 else if(imaginary<0) 50 return (real+"-"+(imaginary*(-1))+"i"); 51 52 else if(imaginary>0) 53 return (real+"+"+imaginary+"i"); 54 } 我在compile的時候會顯示 C:\Users\acer\Desktop\5_7\ComplexNumber.java:54: missing return statement } ^ 1 error 但是我如果把這一段給刪除,compile就會成功, 所以我想問題應該是出在這一段。 不過我不曉得到底哪裡有出錯呢? 看不太出來的說... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.222.46
pico2k:function要在class{}裡 04/17 12:53
tamamad:應該是少了else ,語法錯誤 04/17 13:09
adrianshum:最後的 else if 改成 else 04/17 13:10
thnestar:所以程式會先判斷是否==0,若不等於0,則會接著 04/17 13:26
thnestar:判斷是否<0,最後才判斷是否>0嗎? 如果最後面改成 else 04/17 13:29
thnestar:剛剛去再翻一次書終於懂了,原來跟C有點差異 @@" 04/17 13:38
carlcarl:主要是因為有return的關係 04/17 14:02
thnestar:我不太懂這跟 return 有什麼關係...? 04/17 14:18
bala045:就是一定要能夠跑到return的意思 04/17 14:50
ddtbenas1:就是可能會沒有return值的狀況 04/17 16:25
keeperkai:因為你用的敘述是if else if else if 並沒有else就語法 04/17 23:32
keeperkai:上而言他並不能判斷出一定會有return值... 04/17 23:34
keeperkai:你在if else那堆的body外打個return, error就會消除 04/17 23:41
keeperkai:或者多加上一個else return 00xx 也會消除 04/17 23:42
howardwang:因為編譯器只看到if ... else if ... else if ... 04/18 01:07
howardwang:它認為萬一條件都不符合時,這個method就沒有回傳值了 04/18 01:09
howardwang:它沒聰明到知道你的這三個if,把所有情況都考慮到了 04/18 01:10
spin637:要再加個 else 裡面 return 一個不符合以上情況的結果。 05/06 20:31