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

可不可以仔细讲解这题

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


正在回答

3 回答

这里主要要明白while循环语句。当满足条件时进入循环,不满足跳出。这里即如果num不等于0,即满足条件,那么执行循环。count是用来计算循环次数的。

如本例:

num为999,它满足不等于0,执行循环,

第一次循环count自增1等于1,999除以10等于99。(注:因为num是int型,所以除后得到的数字还是int型。)

99满足不等于0,执行循环,

第二次循环count自增1等于2,99除以10等于9。

9满足不等于0,执行循环,

第三次循环count自增1等于3,9除以10等于0。

0不满足不等于0,跳出循环。


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

Mr超凡蜘蛛侠 提问者

非常感谢!
2015-10-18 回复 有任何疑惑可以回复我~

这串代码首先判断num>=0 和num<999999999同时存在,满足条件进入下个while循环。

while循环里面 count++和num/10,都取决于你初始化时给num和count 赋的什么值来决定的,假如你的num值是:0   count的值也是0

这就是0位的数,假如 num=1 count=0  这个就是1位的数 

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

if (num >= 0  && num<=999999999){//如果num >= 0  与 num<=999999999

    while(num != 0){//当n不为0时进入循环

        count++; //count+1

        num/=10;//num自身除以10,然后进入while循环判断

    }

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

} else{

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

}


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

举报

0/150
提交
取消

可不可以仔细讲解这题

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