一般對于數(shù)字長度的判斷,我們習慣上是采用模除的方法。
使用遞歸的思想得到結(jié)果。大智慧經(jīng)典版6.0下載
以下是jdk源碼中實現(xiàn)的思路:
-----------------------------------------------------------------------------------------
final static int[] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999,
99999999, 999999999, Integer.MAX_VALUE };
static int stringSize(int x) {
for (int i=0; ; i++)
if (x <= sizeTable[i])
return i+1;
}
-----------------------------------------------------------------------------------------
遞歸實現(xiàn)的代碼:
int num = random.nextInt();
while (num / 10 > 0) {
num = num / 10;
length++;
}
------------------------------------------------
當循環(huán)增加到百萬數(shù)量級時,
前者的時間差不多是后者數(shù)量級的一半 。