💖The Begin💖点点关注,收藏不迷路💖
|
一个 5 位数,判断它是不是回文数。即 23432 是回文数,个位与万位相同,十位与千位相同。
1、实现思想
通过逐位比较输入整数的数字,从而确定该整数是否对称。如果对称,则被判断为回文数,否则不是。
检查输入是否为回文数: 将输入的整数转换为字符串,然后将字符串转换为字符数组。
通过比较字符数组的首尾字符、第二个字符与倒数第二个字符,以此类推,来判断输入的整数是否为回文数。
输出结果: 根据检查结果输出相应的信息,判断输入的数是不是回文数。
2、代码实现
package csdn;
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建 Scanner 对象,用于接收用户输入
// 限定输入为 5 位正整数
int number; // 声明一个整数型变量 number
do {
System.out.print("请输入一个 5 位正整数:"); // 提示用户输入
number = scanner.nextInt(); // 从控制台读取用户输入的整数
} while (number < 10000 || number > 99999); // 循环直到用户输入符合要求的 5 位正整数
// 检查是否为回文数
String numberString = String.valueOf(number); // 将整数转换为字符串
char[] digits = numberString.toCharArray(); // 将字符串转换为字符数组
boolean isPalindrome = true; // 声明并初始化一个布尔型变量,用于标记是否为回文数
for (int i = 0; i < digits.length / 2; i++) { // 循环遍历字符数组的前一半元素
if (digits[i] != digits[digits.length - i - 1]) { // 检查对应位置的字符是否相等
isPalindrome = false; // 若不相等,则将标记设为 false
break; // 跳出循环,无需继续比较
}
}
// 根据检查结果输出相应信息
if (isPalindrome) { // 如果是回文数
System.out.println("这是一个回文数"); // 输出提示信息
} else { // 如果不是回文数
System.out.println("这不是一个回文数"); // 输出提示信息
}
}
}
💖The End💖点点关注,收藏不迷路💖
|