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

本文介绍了在Java中使用for循环和char数组两种方法来判断一个整数的位数,包括示例代码演示。第一种方法通过取模运算逐位分离,第二种方法则是将整数转换为字符数组并提取每一位。
摘要由CSDN通过智能技术生成

Java判断一个整数有多少位

首先,封装一个判断位数的方法;使用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);
}

测试结果:

测试结果

java获取一个整数的各个位数

两种方法~  

  • 第一种是取模运算  
  • 第二种是使用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("你输入的不是四位数··系统终止!!请重新输入!!");
  }
}

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值