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

 更新时间:2024年05月01日 08:11:57   作者:醒省行  
这篇文章主要介绍了Java如何判断一个整数有多少位问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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("你输入的不是四位数··系统终止!!请重新输入!!");
  }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java原生序列化和反序列化代码实例

    Java原生序列化和反序列化代码实例

    这篇文章主要介绍了Java原生序列化和反序列化代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java中数组的定义和使用教程(二)

    Java中数组的定义和使用教程(二)

    这篇文章主要给大家介绍了关于Java中数组的定义和使用的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 深入探究Java编程是值传递还是引用传递

    深入探究Java编程是值传递还是引用传递

    大家好,本篇文章主要讲的是Java编程是值传递还是引用传递的探究,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-04-04
  • Spring Cloud应用实现配置自动刷新过程详解

    Spring Cloud应用实现配置自动刷新过程详解

    这篇文章主要介绍了Spring Cloud应用实现配置自动刷新过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • java单例模式4种使用方式分享

    java单例模式4种使用方式分享

    到底如何写一个在生产环境中使用的单实例模式?下面是4种方式,大家参考使用吧
    2014-02-02
  • 浅谈Mybatis传参类型如何确定

    浅谈Mybatis传参类型如何确定

    最近有小伙伴在讨论#{}与${}的区别时,有提到#{}是用字符串进行替换,本文主要介绍了mapper接口中不同的参数类型,最终拼接sql中是如何进行替换的,感兴趣的可以了解一下
    2021-10-10
  • SpringCloud中使用webclient(get和post)请求微服务接口数据

    SpringCloud中使用webclient(get和post)请求微服务接口数据

    在SpringCloud项目中使用WebClient调用微服务时,涉及配置WebClient、发起get和post请求等操作,如请求头设置、服务地址配置、数据转换处理、异常处理等,避免在循环中使用WebClient请求、路径设置细节以及数据返回处理技巧,本文旨在帮助理解和应用WebClient进行微服务调用
    2024-10-10
  • Java编程学习的几个典型实例详解

    Java编程学习的几个典型实例详解

    这篇文章主要给大家介绍了Java编程学习的几个典型实例,其中包括模拟酒店房间管理系统、螺旋矩阵 例或者百鸡问题的变形等经典实例,具体来一起看详细内容吧,需要的朋友可以参考学习。
    2017-02-02
  • 详解Java中clone的写法

    详解Java中clone的写法

    这篇文章主要介绍了Java中clone的写法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Java 封装的使用详解

    Java 封装的使用详解

    在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制
    2021-11-11

最新评论