如下面的程序,想知道count在这里面的意义是什么,我目前的困惑是:num和count貌似没有明显的交集,为什么却可以通过count的运算来推断出num的位数?我感觉应该是我钻牛角尖了,百思不得其解。求前辈们解惑。
if (num >= 0 && num<=999999999){
while(num != 0){
count++;
num/=10;
}
System.out.println("它是个"+ count+"位的数!");
} else{
System.out.println("输入有误!");
}
举个例子:第一次循环999/10=99.9
第二次循环99.9/10=9.9
第三次循环9.9、10=0.99(<1)循环结束
循环3次3位数 count记载循环次数就是位数
你们都答错了 /是只取整数部分的 分别是 99 9 0 判断条件是!=0 所以count加了三次后 就退出while循环了
上面答案我觉得不对 我也是萌新自己研究了一番 sum=999 可以循环三次是因为 sum/=10等于 sum=sum/10
999/10 = 99.9 循环一次
99.9/10 = 9.99 循环二次
9.99/10 = 0.99 循环三次
因为定义的是int整形变量所以无法再进行循环所以count++到3时就结束了