У вас есть две ошибки, связанные с путаницей num
(локальная копия, которую вы изменяете) и number
(параметр, который вы не изменяете). Я бы сделал это final
, чтобы прояснить, что значение является постоянным. А затем используйте num
последовательно. Я бы тоже немного упростил код. Например,
static boolean rev(final int number) {
int reverse = 0;
int num = number;
while (num > 0) {
reverse *= 10;
reverse += num % 10;
num /= 10;
}
return number == reverse;
}
И аналогично в main
использование if
для печати true
или false
бессмысленно (и если вы собираетесь это сделать, используйте if (answer)
- don добавь ненужное == true
). Но я бы предпочел,
public static void main(String[] args) {
boolean answer = rev(1221);
System.out.println(answer);
}
Какие выходы
true