编写一个Java应用程序,用户从键盘输入一个1~99999之间的数,程序将判断这个数是几位数,并判断这个数是否是回文数。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数
时间: 2024-10-17 18:14:08 浏览: 21
编写一个简单的Java程序来实现这个功能,首先需要获取用户的输入,然后检查数字的位数以及它是否是回文数。以下是程序的基本步骤:
```java
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 获取用户输入
System.out.println("请输入一个1到99999之间的整数:");
int num = scanner.nextInt();
// 判断位数
int digitCount = String.valueOf(num).length(); // 转换为字符串并计算长度
System.out.println("输入的数字有" + digitCount + "位.");
// 判断是否为回文数
boolean isPalindrome = isPalindrome(num);
if (isPalindrome) {
System.out.println(num + " 是一个回文数.");
} else {
System.out.println(num + " 不是一个回文数.");
}
scanner.close();
}
// 辅助函数:检查是否为回文数
private static boolean isPalindrome(int num) {
int reversedNum = 0;
int originalNum = num;
while (num != 0) {
int remainder = num % 10; // 取余数
reversedNum = reversedNum * 10 + remainder; // 将余数添加到反转数上
num /= 10; // 去除个位数字
}
return originalNum == reversedNum;
}
}
```
在这个程序中,我们首先创建了一个`Scanner`对象来获取用户输入,接着计算输入数字的位数,然后使用`isPalindrome`辅助函数来判断数字是否为回文数。如果回文,程序会输出相应的提示。
阅读全文