Java | 回文数判断

144 阅读2分钟

大家可以关注一下专栏,方便大家需要的时候直接查找,专栏将持续更新~   

题目描述

编写一个Java程序,用于判断一个5位数的每一位数字是否与其逆序位置的数字相同。如果一个5位数满足这个条件,那么它就是回文数。

程序需要接收一个5位整数作为输入,然后输出它是否是回文数。

解题思路

  1. 输入处理:从用户输入或预设值中获取一个5位整数。
  2. 比较逆序位置
    • 将整数分解为万位、千位、百位、十位和个位。
    • 比较万位和个位、千位和百位是否相等。
  1. 输出结果:如果所有逆序位置的数字都相等,则输出该数是回文数;否则不是。

源码答案

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+编程玩法 的相关资料和源码请移步至公众号:程序员影子