为了账号安全,请及时绑定邮箱和手机立即绑定

我这个哪有问题啊,大佬们?

public class HelloWorld{
public static void main(String[] args){
int num = 999;
int count = 0;
   while (num/10>0){
       System.out.println("它是一个"+count+"位的数!");
       count++;
   }
}
}

正在回答

9 回答

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位,你没有把这个码上。


0 回复 有任何疑惑可以回复我~

while (num/10>0)  这个条件本身就有问题;任何正整数运行这个表达式都是true;
应该是while(num/10>1)

0 回复 有任何疑惑可以回复我~
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+"位的数!");
    }
}
谢谢采纳!


0 回复 有任何疑惑可以回复我~

把num放在which循环语句里面递除,或者用for语句,必须做到num每次除以10

0 回复 有任何疑惑可以回复我~

死循环了,num/10始终是大于0的,看样子你的while后面括号里写错了

0 回复 有任何疑惑可以回复我~

死循环了

0 回复 有任何疑惑可以回复我~

想一下num/10>0,当num为只有一位的数的时候,比如9,9/10=0,于是不执行该循环语句,count还是等于0

0 回复 有任何疑惑可以回复我~

而且这是一个无限的循环啊

0 回复 有任何疑惑可以回复我~

应该把System.out.println()放在while的外面吧?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我这个哪有问题啊,大佬们?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信