Java - 嵌套循环 - 无法获得任何输出

时间:2013-08-24 21:20:14

标签: java if-statement while-loop

我想出了这个想法来模拟植物的生长方式。这个想法是基于分形几何,基本上是如何解释植物中树枝和其他结构的重复。我是编程的初学者,所以我想我只是测试了重复某些东西的基本逻辑。以下是我用Java编写的内容。

/*
Java program:   plant.java

This program runs a loop simulating plant growth.
The idea is that the plant will continue to have "repeated"
growth and that it will stop (or slow down to a crawl) at some point, 
in this case at 100 branches.

*/

public class plant
{
    public static void main (String [] poop)
    {
        int current_growth = 0, limit = 100; //plant growth starts at ZERO and is limited to 100
        String word = "branches";

        while (current_growth > 0)
        {
            //here, we are checking to see if the plant has grown just 1 inch.
            //this is important just for grammatical purposes
            if (current_growth == 1)
            {
                word = "branch"; //this changes the "word" to branch instead of branches
            }


        System.out.println("Your plant has grown " + current_growth + " " + word);
        //if you put the singular count check here, it doesn't work at all
        current_growth = current_growth + 1;

            if (current_growth > 0)
            {
            System.out.println("Your plant has grown " + current_growth + " " + word);
            }
            else
            {
            System.out.println("Your plant will no longer grow.");
            } // end else
        } //end while loop
    } //end main method
} //end class

我做了以下事情:

  1. 将其保存在我的Java存储库中将我的存储库更改为指向 有
  2. 使用MacBook-Air:Java bdeely$ javac plant.java
  3. 调用/编译代码
  4. 使用MacBook-Air:Java bdeely$ java plant
  5. 来代码

    问题在于: - 根本没有输出。命令提示符就像MacBook-Air:Java bdeely$

    一样空回来了

    我很确定我在这里犯了一些巨大的新手错误。有谁知道我怎么能得到这个代码给我输出重复循环从0到100?

    谢谢!

4 个答案:

答案 0 :(得分:1)

编辑:

 public class plant
    {
        public static void main (String [] poop)
        {
            int current_growth = 0, limit = 1;//set limit to 1 //plant growth starts at ZERO and is limited to 100
        String word = "branches";

    while (limit<=100)// for 100 iterations limit
    {
        //here, we are checking to see if the plant has grown just 1 inch.
        //this is important just for grammatical purposes
        if (current_growth == 1)
        {
            word = "branch"; //this changes the "word" to branch instead of branches
        }


    System.out.println("Your plant has grown " + current_growth + " " + word);
    //if you put the singular count check here, it doesn't work at all
    current_growth = current_growth + 1;

        if (current_growth > 0)
        {
        System.out.println("Your plant has grown " + current_growth + " " + word);
        }
        else
        {
        System.out.println("Your plant will no longer grow.");
        } // end else
       limit=limit+1;// increment
    } //end while loop
} //end main method
} //end class

答案 1 :(得分:0)

current_growth初始化为0

while (current_growth > 0) // never becomes true

答案 2 :(得分:0)

这是因为在您的current_growth = 0开始时,条件是(current_growth > 0) 为什么不使用for循环:

for(current_growth = 0; current_growth < limit; ++current_growth)

答案 3 :(得分:0)

您的current_growth为0.在while

中将其设为>= 0