-1

I came up with this idea to simulate the way a plant grows. The idea is based off of fractal geometry and basically how that explains the repetitions of branches and other structures in plants. I am very much a beginner with programming, though, so I thought I'd test out JUST the basic logic of repeating something. Below is what I wrote in 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

I did the following:

  1. Saved it in my Java depository Changed my depository to point to there
  2. Called/compiled the code with MacBook-Air:Java bdeely$ javac plant.java
  3. Ran the code with MacBook-Air:Java bdeely$ java plant

The problem was that: - There was no output at all. The command prompt just went back empty like MacBook-Air:Java bdeely$

I'm fairly certain I am making some kind of huge rookie mistake here. Does anyone know how I can get this code to give me output that repeats the loop from 0 up to 100?

Thanks!

sara
  • 3,824
  • 9
  • 43
  • 71
bordumb
  • 77
  • 2
  • 3
  • 10

4 Answers4

1

Edited :

 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
Tushar Gupta
  • 15,504
  • 1
  • 29
  • 47
0

Since current_growth is initialized to 0

while (current_growth > 0) // never becomes true
Ravi K Thapliyal
  • 51,095
  • 9
  • 76
  • 89
0

It is because at start your current_growth = 0 but while condition is (current_growth > 0) Why don't you use for loop:

for(current_growth = 0; current_growth < limit; ++current_growth)
Dewfy
  • 23,277
  • 13
  • 73
  • 121
0

your current_growth is 0. make it >= 0 in the while

t1w
  • 1,408
  • 5
  • 25
  • 55