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

多重循环问题

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

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

while(num != 0){

count++; 这个自增一次循环后也就是1啊(int count = 0)

num/=10;循环一次的结果是99.9

}

System.out.println("它是个"+ count+"位的数!");那他为啥最后显示的count是“3”?

} else{

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

}


正在回答

2 回答

继续循环啊,num=99.9后,还没跳出while语句;继续count=2,num=9.9;count=3,num=0跳出while语句,count就是3。

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

慕粉初学者 提问者

那应该是0.999啊怎么跳到0了是程序本身设置吗
2016-04-08 回复 有任何疑惑可以回复我~
#2

墨琰 回复 慕粉初学者 提问者

你的num是int型的,int型没有0.999,小数自动转成0了。
2016-04-08 回复 有任何疑惑可以回复我~
#3

慕粉初学者 提问者

非常感谢!
2016-04-08 回复 有任何疑惑可以回复我~

这就一重循环啊,循环次数是3次,第一次循环count=1,num=99,第一循环结束num不等于0满足下次循环条件,所以继续循环;第二次count=2,num=9不等于0,继续循环;第三次count=3,num=0,循环结束num不满足下一次的循环条件了,所以跳出while。这时候count的值就是3。

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

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165160    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

多重循环问题

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