关于多重循环的编程联系

来源:4-15 编程练习

汤钺

2016-01-29 23:16

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

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

写回答 关注

2回答

  • 听雨zzl
    2016-01-29 23:39:45
    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即为位数

  • 触角码工
    2016-01-29 23:33:56

    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     即九位数。  你这个数弄的太长了!!!!

    Memory...

    66666666666,太有耐心了,这个题目本来设计的是从num=999;count=0;开始的~~~~~

    2016-01-29 23:36:31

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

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

1167352 学习 · 18630 问题

查看课程

相似问题