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

看板java作者 (jimmy)時間10年前 (2015/08/09 02:04), 編輯推噓3(308)
留言11則, 6人參與, 最新討論串1/1
這是我的出錯訊息 http://i.imgur.com/wLg5VGR.jpg
今天在寫遞迴的練習時,想說課本題目給的條件有i=1和i>1兩個狀況,i=1時就結束遞迴 ,我一開始第九行只有寫else是可以運作的,但是我想想不對啊,假如別人輸入i<1時不 也是包含在else裡面,所以動手修改成else if(i>1)來確定條件,這時就出現照片裡的錯 誤訊息了,好像是少了大括號之類的問題可是我怎麼找都確定沒問題啊,印象中if,else if可以不一定要加else的,不知道是不是這個問題,還是我大括號真的少了或多了..... 先請前輩們開導了,謝謝 -- Sent from my Android -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.51.217 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1439057081.A.54B.html

08/09 02:06, , 1F
不需要 但是我建議所有的if 之中的內容要用{} 包起來
08/09 02:06, 1F

08/09 02:19, , 2F
你的問題是函數沒有永遠回傳值, i<1 時兩個 if 都不會進
08/09 02:19, 2F

08/09 02:20, , 3F
這種狀況你沒有 return, 錯誤訊息就在告訴你這件事
08/09 02:20, 3F

08/09 02:33, , 4F
Java考題就有if後沒用{}括起來的題目XD
08/09 02:33, 4F

08/10 00:35, , 5F
if後面如果只有單行的話不用{}
08/10 00:35, 5F

08/10 01:39, , 6F
原來是沒有永遠回傳值,我大徹大悟了,另外以後if 後
08/10 01:39, 6F

08/10 01:39, , 7F
面我會注意加個{}的,謝謝各位前輩們的提點,小弟先謝
08/10 01:39, 7F

08/10 01:39, , 8F
過了
08/10 01:39, 8F

08/10 01:41, , 9F
else if那行的else拿掉也能跑 重點就是你一定要給這
08/10 01:41, 9F

08/10 01:41, , 10F
個方法最基礎的回傳值 方法最後一行給個 return 0;
08/10 01:41, 10F

08/10 01:41, , 11F
應該就不會有錯誤訊息了
08/10 01:41, 11F
文章代碼(AID): #1LnaIvLB (java)
文章代碼(AID): #1LnaIvLB (java)