回文数判断

Posted on 2018-08-27 21:44  豆豆2018  阅读(357)  评论(0编辑  收藏  举报

题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千位相同。

思路:1.运用数学方法,逐步分解数字,判断相应位数数字是否相等

2.转为字符数组,进行判断

一、

分解出数字的每一位然后判断

public static void function(int num) {
        boolean flag = false;
        int Ge = 0;
        int Bai = 0;
        int Shi = 0;
        int Qian = 0;
        int Wan = 0;
        for (int i = 0; i < 5; i++) {// 分解五次即可,可以确定次数,如果不确定可以用while 判读取整是否为0
            // numGe记录获取的末位数字
            int numGe = num % 10;
            // 摘掉末位数字
            num = num / 10;
            if (i == 0) {
                Ge = numGe;
            } else if (i == 1) {
                Shi = numGe;
            } else if (i == 2) {
                Bai = numGe;
            } else if (i == 3) {
                Qian = numGe;

            } else if (i == 4) {
                Wan = numGe;
            }

        }
        if (Ge == Wan && Shi == Qian) {
            flag = true;
        }
        System.out.println(flag);
    }

二、

将数字转为字符串数组

public static void function01(int num) {
        // int->char[]
        String str = String.valueOf(num);
        char[] array = str.toCharArray();
        if (array[0] == array[4] && array[1] == array[3]) {
            System.out.println("是回文数!");
        } else {
            System.err.println("不是");
        }

    }