`
xiaofengtoo
  • 浏览: 493808 次
  • 性别: Icon_minigender_1
  • 来自: xiamen
社区版块
存档分类
最新评论

Java源码中的发现:快速判断一个int值是几位数

    博客分类:
  • java
 
阅读更多

判断一个int值是几位数,要是我自己实现,估计又会想到除法和模运算了,偶然在java标准API源码中发现的写法,很强大。

 

    public class Test {  
        final static int[] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999,  
                99999999, 999999999, Integer.MAX_VALUE };  
        static int sizeOfInt(int x) {  
            for (int i = 0;; i++)  
                if (x <= sizeTable[i])  
                    return i + 1;  
        }  
        public static void main(String[] args) {  
            System.out.println(sizeOfInt(1234));  
            System.out.println(sizeOfInt(123));  
            System.out.println(sizeOfInt(12345));  
            System.out.println(sizeOfInt(12));  
        }  
    }  
 

来自 :笔记

 

 

 

 

 

分享到:
评论

相关推荐

    java 原生包 BitSet 源码

    1. 每个BitSet中的位都有一个true或false的值。 2. 位的索引是从0开始的非负整数。 3. 可以通过索引检查、设置或清除个别位。 4. 通过逻辑与(AND)、逻辑或(OR)和逻辑异或(XOR)操作来修改另一个BitSet的内容。 ...

    armstrong_java_ARMSTRONG_源码.zip

    在Java中,实现检查一个数是否为Armstrong数的算法通常涉及位操作、循环和数学运算。 在"armstrong_java_ARMSTRONG_源码.rar"这个压缩包中,我们可以期待找到以下几部分的源代码: 1. **数的表示与处理**:源码...

    java-BigInteger-BigDecimal类源码

    在Java编程语言中,`BigInteger`和`BigDecimal`是两个重要的类,它们分别用于处理大整数和高精度浮点数。这两个类位于`java.math`包下,为开发者提供了超越基本数据类型(如int、long和double)的计算能力。在深入...

    n的阶乘问题--阶乘位数--阶乘末尾0的个数

    在编程领域,阶乘是一个常见的数学概念,尤其在算法和计算数学中经常被用到。本文将深入探讨“n的阶乘问题”,包括阶乘的定义、计算阶乘位数的方法以及如何确定阶乘末尾零的个数。 首先,阶乘是指一个正整数n与小于...

    收集的工具类JUtils(java源码)

    JUtils是一个典型的Java工具类库,它提供了丰富的功能,简化了代码编写,提高了开发效率。本文将深入探讨JUtils的源码,解析其主要功能和实现机制。 1. **字符串处理**: - `JUtils.isEmpty(String str)`: 判断...

    模拟windows计算器java源码

    ### 模拟Windows计算器Java源码解析 #### 一、项目概述 本项目是一个使用Java语言编写的简单计算器程序,其功能与Windows操作系统自带的计算器相似。该项目旨在为初学者提供一个学习Java编程以及GUI(图形用户界面...

    JAVA取整计算器源码

    在JAVA编程语言中,开发一个计算器程序是一项基础且有趣的任务,可以帮助初学者更好地理解面向对象编程的概念。根据标题“JAVA取整计算器源码”和描述,这个计算器程序目前只能处理整数的输入和计算,并且结果也会被...

    javabean判断水仙花数和指数(包含源码)

    在这个案例中,Javabean可能包含两个方法:一个用于检测是否为水仙花数,另一个用于检查是否为质数。下面是对这两个概念的详细解释: 1. **水仙花数的实现**: - 首先,我们需要一个方法接收一个整数作为参数。 -...

    java四位数字的猜数游戏源码

    简洁 易懂 适合Java编程初学 。。。 for(int i=0;i;i++){ for(int j=0;j;j++){ if(arr1[i]==arr2[j])B++; } } for(int i=0;i;i++){ if(arr1[i]==arr2[i]){ A++; B--; } 。。。

    [JAVA源码]捣鼓生成浮点数的最小最大值的正则表达式---by_langx

    本话题聚焦于如何利用Java来生成一个正则表达式,这个表达式能够验证一个字符串是否代表了在特定范围内的浮点数。浮点数包括整数部分、小数部分以及可能存在的正负号。这里的"最小最大值"指的是浮点数的范围,例如,...

    java中BCD编码

    在压缩包中的`BCDCode.java`文件可能包含了一个自定义的BCD编码示例。通常,这样的类会包含以下功能: - `encode(int decimal)`:将一个十进制整数转换为BCD编码的字节数组。 - `decode(byte[] bcd)`:将BCD编码的...

    java reverse number loop_java_javascript_源码.zip

    在这个场景中,"reverse number loop"指的是将一个数字反转并用循环结构来实现的过程。现在,我们将深入探讨这两个编程语言在处理这一任务时的常见方法。 **Java实现数字反转** 在Java中,我们可以使用多种方法来...

    java 打印出所有的水仙花数

    为了执行上述Java程序,我们需要安装Java开发环境,包括JDK(Java Development Kit)和一个文本编辑器或IDE(如Eclipse、IntelliJ IDEA等)。具体步骤如下: 1. **安装JDK**:下载并安装最新版本的JDK。 2. **配置...

    SimHash源码.docx

    接着,代码创建了一个`int`数组`v`,长度等于`hashbits`,用于存储每个位置的哈希值。这里使用了一个`weightOfNature`映射,它指定了不同词性的权重,比如名词("n")的权重为2。`stopNatures`用于设置停用词,但在...

    java BigDecimal操作

    在Java编程语言中,BigDecimal类是用于处理高精度、大范围浮点数的工具,它在需要精确计算的场景下非常关键。BigDecimal提供了避免浮点数运算中的精度损失的方法,适用于金融、会计等对精度有严格要求的领域。这篇...

    Java猜字游戏代码

    本篇将深入探讨一个中级Java编程项目——猜字游戏的实现方法,通过这个项目,我们将重点练习`for`循环的使用,并理解随机数生成、数组操作、用户输入处理等关键概念。 #### 游戏规则概述 游戏的核心规则是: 1. **...

    java关于BMP位图文件解析的分析与实现[源码][附图]

    最后,可以利用Java的`java.awt.image.BufferedImage`类来创建一个图像对象,并将其显示在GUI或保存到新的文件中。 以下是一个简化的代码示例: ```java import java.io.RandomAccessFile; import java.nio....

    Java读取DBF文件jar包以及测试用例

    Java读取DBF文件是数据库处理中的一个常见需求,特别是在处理一些旧的或者与特定硬件设备相关的数据时。DBF,全称为dBase File,是一种流行于20世纪80年代至90年代的数据库文件格式,常用于FoxPro、dBase等数据库...

    基于Java的非对称加密源码实例.zip

    首先,通过`Cipher.getInstance("RSA")`得到一个`Cipher`实例,然后调用`init(Cipher.ENCRYPT_MODE, PublicKey)`准备加密,最后执行`doFinal(byte[] plaintext)`完成加密。 4. **解密过程**:类似地,使用私钥进行...

    Java实现凯撒加密

    在Java中,我们通常会定义一个方法,接受原始字符串、平移位数和方向(正数表示右移,负数表示左移)作为参数。以下是一个简单的Java实现: ```java public class CaesarCipher { public static String encrypt...

Global site tag (gtag.js) - Google Analytics