2015-07-21 40 views
-3

錯誤在於它說方法應該返回一個整數。 我已經使用else語句返回它!那麼爲什麼錯誤?該方法說「應該返回一個整數」

int pop() 
     { 
      if(tos<0) 
      { 
       System.out.println("stack underflow"); 
       tos=-1; 
      } 
      else 
       return stack[tos]; 
     } 
+0

下一次,請確保您的示例已完成並編譯。 – Dragondraikk

+0

您認爲整數總是會返回,但編譯器不知道。當你的代碼邏輯輸入'if語句'時,沒有返回方法。 – CubeJockey

+0

^你只能返回**'else' **,從不**'if' **。 – Newd

回答

5

您不會在所有控制路徑上返回一個整數。

Java明確禁止這樣做。

你需要在tos=-1;之後返回一些東西,或者拋出異常。

2

如果方法輸入if它永遠不會去else並且不會返回任何東西。

+0

謝謝!!!回答:我應該在IF語句中使用return語句!愚蠢的錯誤! – stefan

相關問題