问答详情
源自:4-15 编程练习

while循环判断一个数字是几位数的问题关于count

如下面的程序,想知道count在这里面的意义是什么,我目前的困惑是:num和count貌似没有明显的交集,为什么却可以通过count的运算来推断出num的位数?我感觉应该是我钻牛角尖了,百思不得其解。求前辈们解惑。

if (num >= 0  && num<=999999999){

while(num != 0){
count++;
num/=10;
}
System.out.println("它是个"+ count+"位的数!");
} else{
System.out.println("输入有误!");
}

提问者:暴雨梨花粥 2018-04-27 23:49

个回答

  • 慕前端8563023
    2018-04-28 06:17:22
    已采纳

    举个例子:第一次循环999/10=99.9

                    第二次循环99.9/10=9.9

                   第三次循环9.9、10=0.99(<1)循环结束

    循环3次3位数      count记载循环次数就是位数


  • 杀手cool
    2018-05-20 03:48:01

    你们都答错了 /是只取整数部分的 分别是 99  9   0  判断条件是!=0 所以count加了三次后 就退出while循环了

  • qq_要笑_03502085
    2018-05-19 21:31:49

    上面答案我觉得不对 我也是萌新自己研究了一番   sum=999 可以循环三次是因为 sum/=10等于 sum=sum/10

    999/10 = 99.9 循环一次

    99.9/10 =  9.99 循环二次

    9.99/10 = 0.99 循环三次

    因为定义的是int整形变量所以无法再进行循环所以count++到3时就结束了