搞不懂3位数是怎么算出来的!num/10;count++;怎么联系起来的?

来源:4-15 编程练习

一千里西伯利亚寒流

2016-06-19 14:27

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

            while(num != 0){

                count++;

                num/=10;

            }

外层循环条件是“值大于等于0小于等于99999999”,内层循环条件是“值不等于0”. count每循环一次自增“1”。如果num值为100,num/=10结果是10,count自增100次,count值不是应该是100吗?

写回答 关注

2回答

  • Nickhunick
    2016-06-19 14:37:43

    你可以这样想定义num是一个整型常量,那他num/10就一直除的它小于零为止,在这个循环中一直循环count次,

    因为count++   "自增循环”一直加一次,3位数除一次是两位 再除一次是一位  再除一次是小数  不再是整数  就结束了循环,也就是3位数执行了三次操作,也就得出3位数的结果了

    无限大宇宙 回复浮躁3

    在int 上 0.99 直接为 0, 应该说是除到它小于等于零

    2016-07-08 10:51:09

    共 2 条回复 >

  • qq_人精_03527440
    2016-06-19 14:37:06

    num/10,就是看这个数能除以10多少次,多少次就是多少位数。比如999=9*10(2)+9*10(1)+9*10(0),如果学过二进制位移计算的话 这个题就更容易理解了

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165547 学习 · 17586 问题

查看课程

相似问题