我的while循环程序有什么问题? (java)它应该在它达到-6000时结束

时间:2016-03-13 02:26:12

标签: java while-loop

我编写了这个小程序来学习while循环。我想要它做的是减少X并打印它直到它达到-6000,然后终止程序,但显然我的代码有问题,这里是:

public static void main(String[] args) {
    int x = 3;
    int y = 20;
    int z = -6000;

    while(x != y){
        System.out.println(x);
        {x++;}

        while(x != y){
            x--;
            System.out.println(x);
        }
        while(x == z){
            System.exit(0);
            System.out.print("counted to 6000");
        }

        }
    }

}

4 个答案:

答案 0 :(得分:2)

  

我想要它做的是减少X并打印它直到达到-6000,然后终止程序。

如果你只想这样做,你只需要1 while循环:

public static void main(String[] args) {
    int x = 3;
    int z = -6000;

    while(x != z){
        x--;
        System.out.println(x);
    }
    System.out.print("counted to -6000");
}

答案 1 :(得分:1)

我没有看到你描述的问题的内部while循环的优点。为什么不这样做:

int x = 3;
int z = -6000;

while(x > z){
    System.out.println(x);
    x--;
    }
System.out.print("Counted to 6000");
System.exit(0);

答案 2 :(得分:0)

检查括号第二个while循环应该包含最后一个while循环,如果你想要你的System.out.print(“计数到6000”);声明在调用System.exit(0);

之前执行任何需要的操作

答案 3 :(得分:0)

以下是我们逐步完成代码时发生的事情: 在先进入之前:x = 3,y = 20,z = -6000。

  • 首先输入while循环,将x增加到x = 4

  • 输入第二个while循环,这将无限循环,因为x永远不会等于y。 x从4开始,随着每个循环递减。

既然你问这个代码有什么问题我会在这里完成答案。这将是一个宝贵的学习经验,让您弄清楚如何更改代码以获得您期望的行为。