侧边栏壁纸

Java如何判断一个整数有多少位

  • 奥沐嘉 2024年05月01日 11阅读 0评论

  • 首先,封装一个判断位数的方法;使用for循环进行判断整数的位数。直到传进的整数小于数组中某个值时,停止循环。

        /**
         * 获取整数有多少位
         * @param num 要判断的整数
         * @return 该整数的位数
         */
        public static int getNumDigit(int num) {
            // 设置整数最大位数组参数
            int[] digits = {9, 99, 999, 9999, 99999, 999999, 9999999,
                    99999999, 999999999, Integer.MAX_VALUE};
            // 循环判断num的大小
            for (int i = 0; ; i++) {
                // 当num的值小于digits[i]时停止循环,此时i+1便是当前num的位数
                if (num <= digits[i]) {
                    return i + 1;
                }
            }
        }
    

    测试:定义一个七位数的数字 1000000,调用获取整数位数的方法即可。

    public static void main(String[] args) {
           int num = 1000000;
           int numDigit = getNumDigit(num);
           System.out.println(num + " 的位数是:" + numDigit);
    }

    测试结果:
    202405010802221.png


    两种方法~

    • 第一种是取模运算
    • 第二种是使用char数组进行分割开依次存到数组【推荐第二种】
      获取一个四位数的各个位数

      int qian =input/1000; //千位除以1000
                int bai = input/100%10;//百位除以100%10
                int shi = input%100/10;//十位%100/10
                int ge  = input%10;//个位直接%10
                System.out.println("千位数"+qian+"百位是"+bai+"十位是"+shi+"个位数是"+ge);

      //实现数据 的排序 获取各个位数
      public static void main(String[] args) {
          System.out.println("请输入一个四位数");
      //定义变量接受
      @SuppressWarnings("resource")
        int number = new Scanner(System.in).nextInt();
        if(number>999&&number<10000) {
        char[] chars = String.valueOf(number).toCharArray();
        System.out.println("千位"+chars[0]);
        System.out.println("百位"+chars[1]);
        System.out.println("十位"+chars[2]);
        System.out.println("个位"+chars[3]);
        }else {
          System.out.println("你输入的不是四位数··系统终止!!请重新输入!!");
        }
      }

    1

    —— 评论区 ——

    昵称
    邮箱
    网址
    取消
    博主栏壁纸
    43 文章数
    24 标签数
    9 评论量
    人生倒计时
    舔狗日记