猿问

想了解下面代码是怎么循环的,还有就是num /= 10;的作用。


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


    }


   }
}

谁能给我解释下代码是如何循环,还有就是num /= 10;的作用。


冬來
浏览 1522回答 4
4回答

IMOOCER_Vi

public class HelloWorld{     public static void main(String[] args){         int num  = 999;         int count = 0;         //当num值在范围内的时候进入while语句         if (num >= 0  && num <= 99999){            //当num不等于0的时候,就会一直循环执行语句里的内容         while(num != 0){         count++;        //count用于计算循环的次数,也就是num的位数         num /= 10;      //第一次;num=999,num/=10就是num=num/10,因为num是整形数,所以得99,下次循     }                   //环再执行一次就是9,第三次循环num=0,随后退出循环         System.out.println("它是个"+ count+"位的数!");      }else{         System.out.println("输入错误!");     }    } }

白马少年醉春风

 while(num != 0) 当num不等于0就循环,这样可能会无限循环下去,但是呢,num/1=10就是num=num/10,这样除下去 num迟早会小于1的,因为定义了sum是整形,当sum=0点几的时候 会自动转换成0的 所以循环就会停止 然后输出结果.

Jeanbin大王来巡山

while 循环就是说,如果条件通过就循环, 如果不通过就不执行循环 。  num/=10 ; 可以看作。 num=num/10;

努力提升

首先这个代码的判断范围最大为5位数,999显示满足这个条件。然后进入循环,num/ = 10, 就相当于num = num / 10.第一次循环之后count = 1, num = 99//因为num 是int 类型只保留整数部分,依次类推。再经过2次循环count = 3, num = 0,不满足循环条件执行之后的代码得出999是个3位数
随时随地看视频慕课网APP

相关分类

Java
我要回答