这样为啥不可以?

来源:4-15 编程练习

慕仰5167399

2018-11-17 21: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);
        }
}
}

写回答 关注

3回答

  • 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++;

    }

    雀雀you

    更正一下:while(a > 0){ a = a / 10; num++; }

    2018-11-18 08:56:57

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题