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

总结

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

相关文章

  • 浅析Spring中的循环依赖问题

    浅析Spring中的循环依赖问题

    这篇文章主要介绍了浅析Spring中的循环依赖问题,Spring 是利用了 三级缓存 来解决循环依赖的,其实现本质是通过提前暴露已经实例化但尚未初始化的 bean 来完成的,需要的朋友可以参考下
    2023-11-11
  • 解决springMVC 跳转js css图片等静态资源无法加载的问题

    解决springMVC 跳转js css图片等静态资源无法加载的问题

    下面小编就为大家带来一篇解决springMVC 跳转js css图片等静态资源无法加载的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • SpringBoot基于Mybatis拦截器和JSqlParser实现数据隔离

    SpringBoot基于Mybatis拦截器和JSqlParser实现数据隔离

    本文将介绍如何在 Spring Boot 项目中利用Mybatis的强大拦截器机制结合JSqlParser,一个功能丰富的 SQL 解析器,来轻松实现数据隔离的目标,本文根据示例展示如何根据当前的运行环境来实现数据隔离,需要的朋友可以参考下
    2024-04-04
  • Java 多线程并发LockSupport

    Java 多线程并发LockSupport

    这篇文章主要介绍了Java 多线程并发LockSupport,LockSupport 类是用于创建锁和其他同步类的基本线程阻塞原语,更多相关内容需要得小伙伴可以参考一下下面文章内容
    2022-06-06
  • PowerJob的Evaluator方法工作流程源码解读

    PowerJob的Evaluator方法工作流程源码解读

    这篇文章主要介绍了PowerJob的Evaluator方法工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • java实现系统多级文件夹复制

    java实现系统多级文件夹复制

    这篇文章主要为大家详细介绍了java实现系统多级文件夹复制,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Mybatis-Plus通用枚举的使用详解

    Mybatis-Plus通用枚举的使用详解

    这篇文章主要介绍了Mybatis-Plus通用枚举的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java中Servlet的生命周期详解

    Java中Servlet的生命周期详解

    这篇文章主要介绍了Java中Servlet的生命周期详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • 基于FLink实现实时安全检测的示例代码

    基于FLink实现实时安全检测的示例代码

    这篇文章主要为大家详细介绍了如何基于FLink实现实时安全检测的功能,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的可以了解一下
    2023-02-02
  • java中使用map排序的实例讲解

    java中使用map排序的实例讲解

    在本篇文章里小编给大家整理了一篇关于java中使用map排序的实例讲解内容,有兴趣的朋友们可以学习下。
    2020-12-12

最新评论