2012-04-13 4 views
1

Я новичок, поэтому, пожалуйста, несите меня. Я декомпилировал исходный код профессионального приложения. Когда я скопировал исходный код в затмении, ошибка пришла со следующим кодом (ошибка с типом возвращаемого значения):Return int as boolean

public boolean method(){ 
... 
... 
    for(int i = 0; ; i = 1){ 
     return i; 
} 

Как я могу изменить код, чтобы сохранить его правильно, но сохранить функциональность?

+4

Почему downvotes? ОП, возможно, задал очень элементарный вопрос. Неужели мы действительно хотим наказать молодых кодеров, которые все еще учатся? – slayton

+4

Приложение выглядит очень профессионально. –

+0

Самый нубийский вопрос с профессиональными и обнадеживающими ответами ... Не спускайте вниз, дайте ему учиться ... –

ответ

3

Изменить тип возврата от boolean до int.

Как вы можете видеть, что ваш метод возвращает i который объявлен как int в петле for, поэтому возвращаемый тип вашего метода должен быть таким же, как тип переменной она возвращается.

+0

Хорошо, хорошо ... Но у этой петли нет чувства, и это просто означает возвращение 0 – Selvin

5

Вы можете бросить i как boolean или изменить return i; к return i != 0;, который будет верно для всех ненулевых значений i, и ложно, если i == 0.

В качестве примечания стороны, я действительно вижу без причины обернуть return в цикле for. В этом случае вы можете просто заменить обе эти строки на return 0; (или return false;, чтобы соответствовать методу).

+0

... отсюда downvotes. Вот почему мы с Селвином предупредили об улове в этом вопросе. Я серьезно сомневаюсь, что это был честный вопрос (новичок, который декомпилирует материал для анализа цикла for и даже не читает о цикле?). Для меня это больше похоже на тех, кто пытается подшутить над людьми. – davidcesarino