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

这样不对吗

public class HelloWorld{
    public static void main(String[] args){
        int num = 999;
        int count = 0;
        if(num>=0&&num<=999999999){
            do{
                count++;
                num/=10;
            }while(num!=0);
        System.out.println("它是个"+count+"位的数");
        }else{
            System.out.println("输入有误");
        }
    }
}

提问者:十字路口向左向右 2016-09-06 21:31

个回答

  • 渴望飞翔的猪
    2016-09-07 11:01:57
    已采纳

    上面回答的人都没做测试吧,我把程序运行了一遍没发现哪里有问题,运行结果也是3位。

  • 慕粉3615872
    2016-09-09 14:03:42

          这样表达也对, INT的无符号位存储范围在0~2^32-1,999999999在这个范围内

    ·


  • qzz
    2016-09-06 22:12:05

    do while 是先进行一次然后再判断

  • qzz
    2016-09-06 22:10:27

    你这样貌似是四位数

  • 慕粉3915589
    2016-09-06 22:09:59

    应该把中间循环部分改成

    while(num!=0){

    count++;

           num/=10;

      }


  • 小毛豆
    2016-09-06 22:08:37

    999999999已经超过int 类型最大数值,数值溢出