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

谁能帮我仔细的分析一下语句,看不懂是怎样运行的

谁能帮我仔细的分析一下语句,看不懂是怎样运行的

二般的婷 2016-07-04 17:20:58
public static void main(String[] args){ 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("输入有误"); } }
查看完整描述

5 回答

已采纳
?
慕粉3598658

TA贡献13条经验 获得超9个赞

比较关键的地方在于count++;num/=10这两句。在这个程序里num不等于0,那么num一定大于0,所以count可以先加1,能说得通。num/=10等价于num=num除以10取整,比如说num初始为111,那么第一次循环count=1,num变为11;第二次循环,count=2,num=1;第三次循环,count=3,num=0;退出循环。输出“它是个3位的数!”

查看完整回答
1 反对 回复 2016-07-05
?
allen平凡之路

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

  1.  num/=10;    /=    是 除和赋值操作符,   既 num = num / 10;

  2. num = 999,进入for循环,再进入while循环, num 的值 就经过/=  变成 99、9、0、  而count的值,就是1、2、3、

  3. 此时 num变成 0.结束循环,输出结果count 


查看完整回答
1 反对 回复 2016-07-05
?
二般的婷

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

谢谢各位大神的分析,我明白了,谢谢大家!

查看完整回答
反对 回复 2016-07-05
?
断桥丶晓风残月

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

首先判断num的值是否大于等于零,或者小于等于那一串的9。然后是的话执行while循环,每次执行,count都自加一次,用来记录次数。
如果num的值与循环条件不符,就执行else后的代码。

查看完整回答
反对 回复 2016-07-04
  • 5 回答
  • 0 关注
  • 1664 浏览

添加回答

举报

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