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

完全理解不了,求解释,代码是抄答案的,是不是太笨了o(╥﹏╥)o

public class HelloWorld{

public static void main(String[] args){

int num = 9999;

int count = 0;

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

    while(num!=0){

        count++;

        num/=10;

    }

    System.out.println("它是个"+count+"位的数!");

}else{

    System.out.println("输入有误!");

}

}

}


提问者:慕勒9944832 2020-10-28 11:02

个回答

  • weixin_慕函数9095607
    2021-03-30 23:43:40

    int num = 9999;

    int count = 0;

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

        while(num!=0){

            count++;

            num/=10;

        }

        System.out.println("它是个"+count+"位的数!");

    }else{

        System.out.println("输入有误!");

    }

    while第一次判断条件成立,执行:count 变成1了  num变成999.9了    

    while第二次判断条件成立,执行:count变成 2了  num变成99.9了

    while第三次判断条件成立,执行:count变成3了 num变成 9.9了

    while第四次判断条件成立,执行:count变成4了 num变成 0.9,因为是int变量类型(整数),所以num变成了0

    while第五次判断条件不成立,结束while循环,进入System

  • weixin_慕函数9095607
    2021-03-30 23:39:47

    while第一次判断条件成立,执行:count 变成1了  num变成10了    
    while第二次判断条件成立,执行:count变成 2了  num变成1了
    while第三次判断条件成立,执行:count变成3了 num变成 0.1,因为是int变量类型,所以num变成了0
    while第四次判断条件不成立,结束while循环,进入System

  • weixin_慕移动1176470
    2020-11-04 11:53:41

    说错了,跟int没有关系,在Java中,/出来的都是整数,且并不会四舍五入。

  • qq_慕数据1267178
    2020-11-03 21:09:30

    因为是/10,最后剩一个数的时候除出来是小数,因为num是int型的,会默认为0,计数器额外+1

  • qq_慕数据1267178
    2020-11-03 21:06:27

    public class HelloWorld{
        public static void main(String[] args){
            int num = 999;
            int count = 0;

            if(num > 0 && num < 0x7FFFFFFF) {
                while(num / 10 != 0) {
                    count++;
                    num /= 10;
                }
                System.out.println("他是个" + (count + 1) + "位的数!");
            } else {
                System.out.println("输入有误");
            }
        }
    }

  • weixin_慕仰7599311
    2020-11-02 14:23:38

    public class HelloWorld{

    public static void main(String[] args){

    long num = 1111111111;

    int count = 1;

    while( num / 10 != 0 ){

            count +=1;

            num /= 10; 

        }

    if(count>=10){

       System.out.println("重新输"); 

    }else

       System.out.println("它是个"+count+"位的数");

     }

    }


  • 慕工程4430411
    2020-10-28 15:22:36

    public class HelloWorld{

        public static void main(String[] args){

            int num = 999;

            int count = 0;

            while(num > 0){

                num /= 10;

                count++;

                if(num == 0)

                {

                    System.out.println("它是个" + count + "位的数");

                }

            }

        }

    }


  • 慕工程4430411
    2020-10-28 15:15:31

    就是给一个数值,让它极大,然后呢,取出循环中通用的数值.

     int值除以一个数值,会产生一个 大于整数的值。

        比如:2位数是在 10-99 就是说999 / 99, 还是0;

    就是/999,若为0,它就是这个count位数,