这是我第一次提问,我已经尝试搜索现有的线程。我的程序旨在要求用户输入一个5位数,并检查它是否为回文数,方法是将数字反转,然后将原始数字与反转后的数字进行比较。我还加入了一些验证步骤,以拒绝长度超过或短于5位数的数字。一切似乎都正常,直到它到达比较原始数字和反转数字的部分。以下是我的代码:
import java.util.Scanner;
public class Palindromes {
public static void main(String args[]) {
int n, reverse = 0;
System.out.println("Enter a 5-digit integer to see if it is a palindrome.");
Scanner in = new Scanner(System.in);
n = in.nextInt();
int length = String.valueOf(n).length();
while (length > 5 || length < 5) {
System.out.println("Error: integer must be 5 digits in length.");
System.out.println("Enter a 5-digit integer.");
n = in.nextInt();
length = String.valueOf(n).length();
}
while (length == 5 && n != 0) {
reverse = reverse * 10;
reverse = reverse + n % 10;
n = n / 10;
}
System.out.println("Reversed number is: " + reverse);
if (n == reverse) {
System.out.println("Congratulations! Your number is a palindrome!");
} else {
System.out.println("Sorry. Your number isn't a palindrome.");
}
}
}
println
语句,观察发生了什么。调试是一个重要的学习技能。 - ug_