• 判断一个数是否是回文数


          若将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;虽然这两种写法的结果相同,并且当输入的数的位数是奇数时二者效果相同,但是当输入的数的位数是偶数时,第二种写法会多于一次中间两数的判断。

  • 相关阅读:
    sun.misc.Unsafe
    一个普通Java程序包含哪些线程??
    类加载-类加载器
    类加载-类的生命周期
    类加载-初始化的触发
    Java语法糖
    Java线程池
    Java线程池之ThreadPoolExecutor
    【结构型】- 适配器模式
    数据结构与算法之排序(3)插入排序 ——in dart
  • 原文地址:https://www.cnblogs.com/128-cdy/p/12288744.html
Copyright © 2020-2023  润新知