public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
for(;num>1;num/10){
for(;;count++);
}
System.out.print("它是个"+count+"位的数!");
}
}
第一个for语句出问题,num没有更新赋值
public class HelloWorld{
public static void main(String[] args) {
int num = 999;
int count = 0;
if(num>0){
while(num!=0){
count++;
num/=10;
}
System.out.println("它是个"+count+"位的数");
}else {
System.out.println("输出错误");//可能输入负数
}
}
}
不对,是没有把num赋值给num的问题,num/=10
我觉得不是num没有重新赋给num,是没必要用两个for,直接count++;
你的num/10后没有将结果重新赋给num,所以num一直是999。