Ark_Scorpion 2021-10-23 09:22 采纳率: 55.2%
浏览 77
已结题

java判断一串数字是不是回文数

题目描述
编写一个方法isPalindrome(),参数为一个5位以内的自然数,它判断该数是否为回文数,并根据判断结果返回布尔类型的值。
然后,在main方法中循环输入一个5位数以内的自然数,如果输入的自然数超过5位,则输出“input error”,否则,调用isPalindrome(),并根据方法的返回值输出“XXXXX是/不是回文数”,直到输入一个负数为止。
回文数是指正序(从左至右)和逆序(从右至左)都相同的数,如303、42124和3223。

输入描述
一行以负数结尾的自然数,中间用空格分开

输出描述
每个自然数占一行:XX是回文数 或者 XX不是回文数 或者 input error

输入样例
29 454 11 12321 0 234512 999 -1

输出样例
29不是回文数
454是回文数
11是回文数
12321是回文数
0是回文数
input error
999是回文数

  • 写回答

1条回答 默认 最新

  • 诗人在流浪 2021-10-23 18:09
    关注

    这是经典的回文问题,楼主可以参考我的博客:https://blog.csdn.net/zhanglide0526/article/details/120754067?spm=1001.2014.3001.5502
    代码如下,望楼主采纳

    
    public static void main(String[] args) {
                System.out.println("请输入整数:");
                Scanner scan = new Scanner(System.in);
                String num = scan.nextLine();
                String[] str = num.split("\\s+");//以空格分隔
                for (String s : str) {
                    if(Integer.valueOf(s)<0){
                        break;
                    }
    
                    if(s.length()>5){//如果大于5位数则提示并跳过当次循环
                        System.out.println("input error");
                        continue;
                    }
                    if(!isPalindrome(s)){//方法返回值为false则不是回文数
                        System.out.println(s + "不是回文数");
                    }else{
                        System.out.println(s + "是回文数");
                    }
                }
    
            }
    
        //该方法用于判断是否是回文数
        private static boolean isPalindrome(String str) {
            for (int i = 0; i < str.length() - i - 1; i++){
                if(str.charAt(i) == str.charAt(str.length() - i - 1)){
                    continue;
                }else{
                    return false;
                }
            }
    
            return true;
    
        }
    

    请输入整数:
    29 454 11 12321 0 234512 999 -1
    29不是回文数
    454是回文数
    11是回文数
    12321是回文数
    0是回文数
    input error
    999是回文数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月23日

悬赏问题

  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 ubuntu系统下挂载磁盘上执行./提示权限不够
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型