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

这样为啥不可以?

public class HelloWorld{
public static void main(String[] args){
int num = 0;
        int a = 1000;
        if(a<=999999999&&a<=0) {
            for(int i=0;i<=999999999;i++) {
                if(i>10) {
                    a = a/10;
                    num++;
                }
            }
            System.out.println(num);
        }
}
}

提问者:慕仰5167399 2018-11-17 21:15

个回答

  • Ibuki_suga
    2018-11-18 20:37:23

    等等!是if(a <= 999999999 && a >=0),看走眼了

  • Ibuki_suga
    2018-11-18 20:24:59

    你是想用if(i > 10)来缩短9999999+的距离吧?,这样子不行的。为何你不用break语句呢

    a = a / 10;

    num++;

    if(a == 0){

        break;

    }

    还有, if(a<=999999999 && a<=0)没错

  • 雀雀you
    2018-11-18 08:54:54

    首先你的if条件写错了,应是:if(a < 0 || a > 9999999999)这里应使用||而不是&&,使用逻辑与需要两边条件都满足才为ture。其次是你的for循环的条件,按照你表达的意思,for循环大概要循环99999999次了。你可以使用while循环来实现这个功能:while(a >= 0){

        a = a / 10;

        num++;

    }