java入门d第一季,编程练习的 ,问题是答案好像也给错了,我在电脑上照着弄,它提示我语法错误,而且这个答案我根本看不懂啊,求大神解释一下啊。
1 回答

guozhchun
TA贡献103条经验 获得超76个赞
// 整个程序的意思就是: num 每次除 10 得到的结果 b 就会比原先的 num 的位数少一位,此时可以用一个循环来对 // num每次除10,同时用一个计数器count来记录总共除了几次,也就能记录 num 有多少位了。 int count = 0; // 这个用于表示数字有多少位 int num = 124; // 为了避免不必要的误解,这里假设num = 124 if (num >= 0 && num <= 999999999) // if 判断语句,只有 0 <= num <= 999999999才会进行以下语句 { while (num != 0) // while 循环语句,当 num 不为 0 时,执行循环语句块 { count++; // count 变量加一 num /= 10; // 这个相当于 num = num / 10;如果执行语句前 num = 124, 那么执行语句后 num = 12 } }
以上相当于把程序的每条语句都翻译了一下。这里讲解一下循环的过程
num = 124,此时 num != 0 条件为真,进入循环, count++得到结果为 1, num /= 10得到结果为12
num = 12,此时num != 0 条件为真,进入循环, count++得到结果为2,num /= 10 得到结果为1
num = 1,此时num != 0 条件为真,进入循环, count++得到结果为3,num /= 10 得到结果为0
num = 0, 此时 num != 0 条件为假,结束循环
此时输出 count 的值,为 3
添加回答
举报
0/150
提交
取消