[問題] if,else if後面一定要有else?

作者: kobebryin (Jimmy)   2015-08-09 02:04:39
這是我的出錯訊息
http://i.imgur.com/wLg5VGR.jpg
今天在寫遞迴的練習時,想說課本題目給的條件有i=1和i>1兩個狀況,i=1時就結束遞迴
,我一開始第九行只有寫else是可以運作的,但是我想想不對啊,假如別人輸入i<1時不
也是包含在else裡面,所以動手修改成else if(i>1)來確定條件,這時就出現照片裡的錯
誤訊息了,好像是少了大括號之類的問題可是我怎麼找都確定沒問題啊,印象中if,else
if可以不一定要加else的,不知道是不是這個問題,還是我大括號真的少了或多了.....
先請前輩們開導了,謝謝
作者: pupuliao (pupu)   2015-08-09 02:06:00
不需要 但是我建議所有的if 之中的內容要用{} 包起來
作者: LPH66 (-6.2598534e+18f)   2015-08-09 02:19:00
你的問題是函數沒有永遠回傳值, i<1 時兩個 if 都不會進這種狀況你沒有 return, 錯誤訊息就在告訴你這件事
作者: egaryer (egaryer)   2015-08-09 02:33:00
Java考題就有if後沒用{}括起來的題目XD
作者: iFEELing (ing)   2015-08-10 00:35:00
if後面如果只有單行的話不用{}
作者: kobebryin (Jimmy)   2015-08-10 01:39:00
原來是沒有永遠回傳值,我大徹大悟了,另外以後if 後面我會注意加個{}的,謝謝各位前輩們的提點,小弟先謝過了
作者: alchin7748 (R.Chin)   2015-08-10 01:41:00
else if那行的else拿掉也能跑 重點就是你一定要給這個方法最基礎的回傳值 方法最後一行給個 return 0;應該就不會有錯誤訊息了

Links booklink

Contact Us: admin [ a t ] ucptt.com