没搞懂这个例子的意思 如果输入999,一直除10永远也不等于0啊 为什么会结束循环呢
int num = 999; int count = 0; while(num!=0){ count++; num/=10; }
比如输入999 也除不尽啊 永远也不等于0 不是永远也不会结束循环
2017-09-27
Java中的“/”符号表示除法,得出的结果只能是整数部分。
第一次循环:999 / 10 --> 90,num就变为了90,
数学中应该是 999 除以 10 = 90……99,Java中的除法符号只取整数部位90,余数的99不做考虑;
第二次循环:90 / 10 --> 9,num变为了9;
数学中应该是 90 除以 10 = 9,取整数部分就是9了;
第三次循环:9 / 10 -->0,num变为了0,
数学中应该是 9 除以 10 = 0……9,取整数部分0,余数的9不做考虑。
综上,第三次循环结束后,num就变为了0,count也变为了3,
在进行第四次循环的条件判断是发现num不符合条件,循环结束。
举报