段爱华
2018-04-17 23:23
if (num >= 0 && num<=999999999){
while(num != 0){
count++;
num/=10;
}
System.out.println("它是个"+ count+"位的数!");
} else{
System.out.println("输入有误!");
}
补充一小点:因为这个数是10进制
每除一次10相当于减少一位数。
num >= 0 && num<=999999999,这个是num的取值范围,而每除一次10,相当于就是缩小一位数,比如 700/10=70,count=1;70/10=7;count=2;7/10=0;count=3;这个时候,num等于0,退出循环。
比如此时有一个数字num=50;
num!=0 count=1;num/=10;
//此时num=5;
然后count++;
num/=10;
//此时num=0;count=2;
跳出循环,代码每一次除是直接去掉最后一位数的
除以10相当于把num向左移动一个小数点
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题