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位的数!”
allen平凡之路
TA贡献2条经验 获得超2个赞
num/=10; /= 是 除和赋值操作符, 既 num = num / 10;
num = 999,进入for循环,再进入while循环, num 的值 就经过/= 变成 99、9、0、 而count的值,就是1、2、3、
此时 num变成 0.结束循环,输出结果count
断桥丶晓风残月
TA贡献32条经验 获得超15个赞
首先判断num的值是否大于等于零,或者小于等于那一串的9。然后是的话执行while循环,每次执行,count都自加一次,用来记录次数。
如果num的值与循环条件不符,就执行else后的代码。
添加回答
举报
0/150
提交
取消