Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Creating a Christmas Tree using for loops

I am trying to make a christmas tree using for loops and nested for loops. For me to do that I need to be able to make a pyramids with *. I have tried countless times and I am having problems making one. Here is my code:

for(int i=1;i<=10;i++){
    for(int j=10;j>i;j--){
        System.out.println(" ");   
    }

    for(int k=1;k<=i;k++){
        System.out.print("*");
    }

    for(int l=10;l<=1;l++){
        for(int h=1;h<=10;h++){
            System.out.print(" ");
        }
    }

    System.out.println();  
}

What I am trying to do is:

     *
    ***
   *****
  *******
like image 468
Atif Shah Avatar asked Jun 09 '15 04:06

Atif Shah


2 Answers

You can do it with simple logic

for (int i = 0; i < 4; i++) 
            System.out.println("   *******".substring(i, 4 + 2*i));
like image 64
Buru Avatar answered Oct 17 '22 09:10

Buru


Try this much simpler code:

public class ChristmasTree {

 public static void main(String[] args) {

  for (int i = 0; i < 10; i++) {
   for (int j = 0; j < 10 - i; j++)
    System.out.print(" ");
   for (int k = 0; k < (2 * i + 1); k++)
    System.out.print("*");
   System.out.println();
  }
 }
}

It uses 3 loops:

  • first one for the number of rows,
  • second one for printing the spaces,
  • third one for printing the asterisks.
like image 16
Sourav Kanta Avatar answered Oct 17 '22 10:10

Sourav Kanta