若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。例如,若n=1234321,则称n为一回文数。
但是要注意,回文数不是只有奇数位,偶数位也可以是回文数,例如 123321;小数没有回文数。 回文数通俗的看就是,顺着看和反着看数字是同样大小的。
代码如下:
import java.util.Scanner; /** * 判断一个数是否是回文数 */ public class palindromeNum { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个数:"); int num = scanner.nextInt(); System.out.println("是否回文:"+decide(num)); } private static boolean decide(int num) { //将数字转换成char 数组 char[] c = String.valueOf(num).toCharArray(); //判断 for (int i = 0, j = c.length - 1; i <= (c.length - 1) / 2; i++, j--) { if (c[i] == c[j]) { return true; }else { //其中一个不满足就不是回文数 return false; } } return false; } }
其中for中的条件 i <= (c.length - 1) / 2,而不应该为 i <= c.leng / 2;虽然这两种写法的结果相同,并且当输入的数的位数是奇数时二者效果相同,但是当输入的数的位数是偶数时,第二种写法会多于一次中间两数的判断。