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

求大佬解释下这段代码

int num = 999;
int count = 0;

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

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

正在回答

2 回答

输入一个数字,计算它的位数。

判断num的位数是不是大于0位小于10位

一个循环,num/10如果不等于0,count就加一

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

慕莱坞529334

你这解释有问题吧 num/10如果不等于0,count就加一哪来的?
2019-06-04 回复 有任何疑惑可以回复我~
#2

慕圣9167845 回复 慕莱坞529334

不等于0肯定要加一啊
2019-06-13 回复 有任何疑惑可以回复我~

999!=0,count加一为1;因为是int是整型数据类型,当第一次num/10时,num=99,count加一就成了2;第二次就是99/10=9.9,因为是int的数据类型的问题,所以就变成了9,count加一变成了3;第三次就是9/10=0.9,取整为0,与判断语句num不等于0不符,所以跳出循环,打印count

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

举报

0/150
提交
取消

求大佬解释下这段代码

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