答案的代码看得不是很懂,有人能说下流程吗?
public class HelloWorld{ 
    public static void main(String[] args){ 
        int num = 999; 
        int count = 0;  
        if (num >= 0  && num<=999999999){   //当num大于等于0并且小于等于999999999
            while(num != 0){  // 如果num不等于0
                count++;         //count自增1
                num/=10;        //num除以10并赋值给num
            }
            System.out.println("它是个"+ count+"位的数!");
        } else{
        System.out.println("输入有误!");
        }
      }
  }这里主要要明白while循环语句。当满足条件时进入循环,不满足跳出。这里即如果num不等于0,即满足条件,那么执行循环。count是用来计算循环次数的。
如本例:
num为999,它满足不等于0,执行循环,
第一次循环count自增1等于1,999除以10等于99。(注:因为num是int型,所以除后得到的数字还是int型。)
99满足不等于0,执行循环,
第二次循环count自增1等于2,99除以10等于9。
9满足不等于0,执行循环,
第三次循环count自增1等于3,9除以10等于0。
0不满足不等于0,跳出循环。
明白了,我刚才也还在想是不是要取整的问题,谢谢你的回答