Программа Java неправильно определяет номер палиндромаJAVA

Программисты JAVA общаются здесь
Anonymous
Программа Java неправильно определяет номер палиндрома

Сообщение Anonymous »

Я пытаюсь написать программу на Java, чтобы проверить, является ли данное число палиндромом или нет. Число-палиндром остается тем же, когда его цифры меняются местами (например, 121 или 1331).
Я написал следующий код, но для некоторых входных данных он не дает ожидаемого результата. Иногда он всегда печатает, что число не является палиндромом, даже если это действительно так.

Код: Выделить всё

import java.util.Scanner;

public class PalindromeNumber {

public static void main(String[] args) {

int num, rev = 0;

Scanner sc = new Scanner(System.in);

System.out.print("Enter a number: ");

num = sc.nextInt();

while (num != 0) {
int rem = num % 10;

rev = rev * 10 + rem;
num /= 10;
}

if (num == rev) {
System.out.println("Palindrome number");
} else {
System.out.println("Not a palindrome number");
}
}
}
Я думаю, что логика обращения числа верна, но я не уверен, почему сравнение не удалось.
Может ли кто-нибудь объяснить, что не так в моем коде и как это исправить?
Любые предложения по улучшению этой программы также приветствуются.>

Подробнее здесь: https://stackoverflow.com/questions/798 ... ome-number

Вернуться в «JAVA»