2015-07-21 2 views
-3

Ошибка в том, что он говорит, что метод должен возвращать целое число. Я уже вернул его, используя инструкцию else! так почему ошибка?метод говорит «должен возвращать целое число»

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

В следующий раз, пожалуйста, убедитесь, что ваш пример завершен и скомпилирован. – Dragondraikk

+0

Вы думаете, что целое число всегда будет возвращено, но компилятор этого не знает. Когда логика кода вводится в 'if statement', метод возврата отсутствует. – CubeJockey

+0

^Вы только возвращаетесь в ** 'else' **, никогда в **' if' **. – Newd

ответ

5

Вы не возвращаете целое число на всех путях управления.

Java явно запрещает это.

Вам необходимо вернуть что-то после tos=-1; или выбросить исключение.

2

Если метод входит в if, он никогда не пойдет в else и ничего не вернет.

+0

спасибо !!! Ответ: Я должен использовать оператор return в инструкции IF тоже! глупые ошибки! – stefan

Смежные вопросы