为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

冬來 2016-01-11 22:24:39
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;的作用。
查看完整描述

4 回答

已采纳
?
IMOOCER_Vi

TA贡献7条经验 获得超4个赞

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("输入错误!");

    }

   }
}


查看完整回答
2 反对 回复 2016-01-12
?
白马少年醉春风

TA贡献2条经验 获得超3个赞

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

查看完整回答
2 反对 回复 2016-01-12
?
Jeanbin大王来巡山

TA贡献17条经验 获得超0个赞

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

查看完整回答
反对 回复 2016-01-18
?
努力提升

TA贡献65条经验 获得超15个赞

首先这个代码的判断范围最大为5位数,999显示满足这个条件。然后进入循环,num/ = 10, 就相当于num = num / 10.

第一次循环之后count = 1, num = 99//因为num 是int 类型只保留整数部分,依次类推。

再经过2次循环count = 3, num = 0,不满足循环条件执行之后的代码得出999是个3位数

查看完整回答
反对 回复 2016-01-12
  • 4 回答
  • 0 关注
  • 1521 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信