对数字进行操作,倒序输出数字

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

题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

分析:1.可以单单从数学数字上考虑,我们一个个拿掉数字的位数,把这些位数重构得到一个新的数字

2.我们把数组当成字符串->字符串数组,对数组进行倒序输入,这样有不用顾忌数学处理数组的麻烦

一.逐位摘掉数字,进行先拆分,后重构

 1 public static void funciton(int num) {
 2         int length = 0;
 3         int newNum = 0;
 4         while (num != 0) {
 5             int numGe = num % 10;
 6             num = num / 10;// 拿掉末尾剩下 的整数
 7             newNum = newNum * 10 + numGe;// 逆转得到的新数字
 8             length++;// 记录整数的长度
 9         }
10         System.out.println(length);
11         System.out.println(newNum);
12     }

二.把数字转为字符串数组,对数组进行操作

    public static void function01(int num) {
        int len = 0;
        //用Sting类的valueOf(int a);方法将int->sting类型
        String str = String.valueOf(num);
        //sting->char[]
        char[] array = str.toCharArray();
        System.out.println(Arrays.toString(array));
        for (int i = 0; i < array.length; i++) {
            len++;
            // 倒序输出数组元素
            System.out.print(array[array.length - i - 1]);
        }
        System.out.println();
        System.out.println("长度为:" + len);

    }

个人倾向第二种方法