题目:一个 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("不是"); } }