tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Java > Core > Special Triangles > Triangle4

Triangle4 

File Name  :  
com/bethecoder/tutorials/core/triangle/Triangle4.java 
Author  :  Sudhakar KV
Email  :  [email protected]
   
package com.bethecoder.tutorials.core.triangle;

public class Triangle4 {

  public static void main (String [] args) {

    int num_of_lines = 20;
    int start_num = 1;
    int spaces = 0;
    
    for (int i = num_of_lines - ; i >= 0; i -- ) {
      
      //Assumption:
      //Each number occupies max 3 characters
      //1 for number separator i.e space
      //2 for actual number
      spaces = num_of_lines - i - 1;
      System.out.print(getSpace((3*spaces/2)));
          
      for (int j = start_num ; j <= (start_num + i; j ++) {
        //3 - chars required including actual number
        //for single digit number prefix two spaces
        //for double digit number prefix single space
        System.out.print((j < 10 "  " " "+ j);
      }
      
      System.out.println();
    }
  }
  
  private static String getSpace(int spaces) {
    StringBuilder sb = new StringBuilder();
    for (int i = ; i < spaces ; i ++) {
      sb.append(" ");
    }
    return sb.toString();
  }
}
   

It gives the following output,
  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
   1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19
     1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18
      1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17
        1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
         1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
           1  2  3  4  5  6  7  8  9 10 11 12 13 14
            1  2  3  4  5  6  7  8  9 10 11 12 13
              1  2  3  4  5  6  7  8  9 10 11 12
               1  2  3  4  5  6  7  8  9 10 11
                 1  2  3  4  5  6  7  8  9 10
                  1  2  3  4  5  6  7  8  9
                    1  2  3  4  5  6  7  8
                     1  2  3  4  5  6  7
                       1  2  3  4  5  6
                        1  2  3  4  5
                          1  2  3  4
                           1  2  3
                             1  2
                              1
 



 
  


  
bl  br