问答详情
源自:4-15 编程练习

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

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

提问者:暗夜nbl 2018-07-23 18:40

个回答

  • 图酥
    2018-07-27 16:15:30

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


  • 5音6律
    2018-07-27 15:13:27

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

  • 慕盖茨740922
    2018-07-24 13:42:28

    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+"位的数!");
        }
    }
    谢谢采纳!


  • 陆仁乙
    2018-07-24 09:57:56

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

  • 张小布0
    2018-07-24 08:52:48

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

  • 慕粉7364506
    2018-07-24 08:08:42

    死循环了

  • 慕丝4073921
    2018-07-23 22:27:23

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

  • Deluna
    2018-07-23 19:53:01

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

  • Deluna
    2018-07-23 19:48:37

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