快速判断一个int值是几位数
判断一个int值是几位数,想到除法和模运算了,偶然在Java标准API源码中发现的写法,很强大。
文艺青年(存在Integer包中)
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));
}
}
懒汉青年
public class java_19 {
public static void main(String[] args)
{
System.out.print(length(287785));
}
public static int length(int number)
{
int length = (number + " ").length();
return length;
}
}