public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
for(;num%10 !=0;){
num=num/10;
count++;
for(;num%10 !=0; ){
num=num/10;
count++;
for(;num%10 !=0; ){
num=num/10;
count++;
}
}
}
System.out.println("它是个"+count+"位数!");
}
}
这种写法也可以,没有错,是慕课网的问题,这毕竟不是真实的开发环境,只是慕课网模拟出来教学用的,如果你写的跟他预设的答案有出路,可能就没法提交通过。可以选择跳过这节,或者试试下面这种写法:
public class HelloWorld{ public static void main(String[] args){ int num = 999; int count = 0; if (num >= 0 && num <= 999999999) { do { count++; num /= 10; } while (num != 0); System.out.println("它是个" + count + "位的数!"); } else { System.out.println("输入错误!"); } } }
这个方法只能用于不含0的数字,没有通用性,因为是用余数判断,含0的话余数为0直接判断结束,0在倒数第几位最后结果输出就是位数-1,而且不用for这么多次,一次就够了,题主可以测试一下。
eclipse运行没错,不过一般都用while