大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~
题目描述
编写一个Java程序,用于判断一个5位数的每一位数字是否与其逆序位置的数字相同。如果一个5位数满足这个条件,那么它就是回文数。
程序需要接收一个5位整数作为输入,然后输出它是否是回文数。
解题思路
- 输入处理:从用户输入或预设值中获取一个5位整数。
- 比较逆序位置:
-
- 将整数分解为万位、千位、百位、十位和个位。
- 比较万位和个位、千位和百位是否相等。
- 输出结果:如果所有逆序位置的数字都相等,则输出该数是回文数;否则不是。
源码答案
import java.util.Scanner;
public class PalindromeChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入一个5位整数
System.out.println("请输入一个5位整数:");
long number = scanner.nextLong();
// 判断是否为回文数
boolean isPalindrome = isPalindrome(number);
if (isPalindrome) {
System.out.println("输入的数字是回文数。");
} else {
System.out.println("输入的数字不是回文数。");
}
}
// 判断是否为回文数的函数
public static boolean isPalindrome(long number) {
// 将整数转换为字符串
String numberStr = Long.toString(number);
// 检查字符串长度是否为5
if (numberStr.length() != 5) {
return false;
}
// 分解字符串为万位、千位、百位、十位和个位
char[] numberChars = numberStr.toCharArray();
// 比较逆序位置的数字是否相等
for (int i = 0; i < 5; i++) {
if (numberChars[i] != numberChars[4 - i]) {
return false;
}
}
// 如果所有逆序位置的数字都相等,返回true
return true;
}
}
输出结果
程序将输出输入的5位数是否是回文数。例如,如果输入的数字是12321,则输出结果为:输入的数字是回文数。
以上就是本次分享的所有内容,感兴趣的朋友点个关注呀,感谢大家啦~
更多Java | AI+编程玩法 的相关资料和源码请移步至公众号:程序员影子