暗夜nbl
2018-07-23 18:40
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
while (num/10>0){
System.out.println("它是一个"+count+"位的数!");
count++;
}
}
}
public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
if(num>=0 && num<1000000000){
while(num !=0){
num=num/10;
count++;
}
}
System.out.println("它是个"+count+"位的数!");
}
}
而且题目要求是小于10位,你没有把这个码上。
while (num/10>0) 这个条件本身就有问题;任何正整数运行这个表达式都是true;
应该是while(num/10>1)
public class HelloWorld{ public static void main(String[] args){ int num = 999; int count = 1;//整数最起码也是个1位数 while ((num/=10)>0){ count++; } System.out.println("它是一个"+count+"位的数!"); } }
谢谢采纳!
把num放在which循环语句里面递除,或者用for语句,必须做到num每次除以10
死循环了,num/10始终是大于0的,看样子你的while后面括号里写错了
死循环了
想一下num/10>0,当num为只有一位的数的时候,比如9,9/10=0,于是不执行该循环语句,count还是等于0
而且这是一个无限的循环啊
应该把System.out.println()放在while的外面吧?
Java入门第一季(IDEA工具)升级版
1165172 学习 · 17581 问题
相似问题