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

关于多重循环的编程联系

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

为什么count++和num/=10可以实现count是一个数的位数??..看不懂..

正在回答

2 回答

while (num != 0) {
    count = count + 1;
    num = num / 10;
}

以1234为例:

第一次循环:num!=0成立

count=0+1=1

num=1234/10=123

第二次循环:num!=0成立

count=1+1=2

num=123/10=12

第三次循环:num!=0成立

count=2+1=3

num=12/10=1

第四次循环:num!=0成立

count=3+1=4

num=1/10=0

num==0循环结束

count即为位数

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

num/=10   的意思是num/10=num(这里计算num的新值,不是常规数学表达式。)

999/10=99.9     因为num是整数  所以在这里999/10=99    while(num!=0)   count++  num/=10   循环这里。

999999999/10=99999999   count+1       num赋值99999999      count赋值1  循环99999999/10=9999999 count赋值2    循环99999999/10=9999999 num=9999999  count=3  循环9999999/10  num=999999  count=4   循环999999/10=99999 count=5  循环99999/10=9999  conut=6 循环9999/10 =999  count=7

循环999/10 =99  count=8  循环99/10=9 count=9  循环9/10=0  循环结束  count=9     即九位数。  你这个数弄的太长了!!!!

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

MemoryNeverGone

66666666666,太有耐心了,这个题目本来设计的是从num=999;count=0;开始的~~~~~
2016-01-29 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

关于多重循环的编程联系

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号