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

帮我解读下num/=10的含义

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

不知道怎么实现的count等于位数了,不太理解没看明白,求大神解读下整体代码的含义,谢谢

正在回答

4 回答

最外层的if判断 先不管他从第二层while循环开始,初始num的值为10,进入while循环10不等于0所以条件成立因为count初始为0 在count++后为1。num/=10等于num = num除以10;等于1满足条件再次进入while循环1不等于0,count++ 为2,num/=10等于0.1因为你num是int类型所以她只能为整数所以num等于0不满足条件跳出循环输入count为2。

2 回复 有任何疑惑可以回复我~
#1

IT小白啊

那如果输入num=999呢, 该怎么理解啊
2019-01-20 回复 有任何疑惑可以回复我~
#2

ken_0007

那个其实是利用了jave的除法规则吧。。num/=10 获得接过永远是整数,count=1时,是999/10=99;然后count=2时,是99/10;当count=3时,是9/10 ,结果为0,不满足while条件,退出。
2019-01-26 回复 有任何疑惑可以回复我~

num=num/10

0 回复 有任何疑惑可以回复我~

相当于num=num/10

0 回复 有任何疑惑可以回复我~

前两行定义

第三行是限制条件num>=0并且num<=999999999,如果不在这个范围内,显示“输入错误”

之后的while循环,当num不等于0时,num=num/10,你问的就是这个意思,每进行一次运算,count加一

当num=0时,跳出循环,输出位数



1 回复 有任何疑惑可以回复我~
#1

weixin_宝慕林4199788

那num=999 然后num=999/10=99.9 count是2 就算再继续除下去num也就是0.999 也不会等于0啊~怎么跳出循环..
2019-01-21 回复 有任何疑惑可以回复我~
#2

weixin_宝慕林4199788

噢 懂了 num>=0一开始的
2019-01-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

帮我解读下num/=10的含义

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信