编写一个Java程序。要求,用户输入一个1~9999之间的数,判断这个数是几位数,并判断它是否为回文数。
时间: 2024-11-17 13:30:36 浏览: 6
GuessingGame2
当你编写一个Java程序来完成这个任务时,你需要先获取用户的输入,然后检查数字的位数和是否为回文。以下是步骤的概述:
```java
import java.util.Scanner;
public class PalindromeNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个1到9999之间的整数:");
int number = scanner.nextInt();
// 判断位数
int digitCount = String.valueOf(number).length();
System.out.printf("该数字有%d位.\n", digitCount);
// 判断是否为回文数
if (isPalindrome(number)) {
System.out.println(number + " 是回文数.");
} else {
System.out.println(number + " 不是回文数.");
}
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;
}
}
```
在这个程序中,我们首先获取用户的输入,然后通过字符串长度计算位数。接着,`isPalindrome()` 函数将输入的数字逐位反转并与原数比较,如果相等,则说明是回文数。
阅读全文