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

Triangle2 

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

public class Triangle2 {

  public static void main (String [] args) {

    int num_of_lines = 20;
    int start_num = 1;
    
    for (int i = ; i < num_of_lines; i ++ ) {
      
      //Assumption:
      //Each number occupies max 3 characters
      //1 for number separator i.e space
      //2 for actual number
      System.out.print(getSpace((num_of_lines - i - 1)));
          
      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
                                                        1  2
                                                     1  2  3
                                                  1  2  3  4
                                               1  2  3  4  5
                                            1  2  3  4  5  6
                                         1  2  3  4  5  6  7
                                      1  2  3  4  5  6  7  8
                                   1  2  3  4  5  6  7  8  9
                                1  2  3  4  5  6  7  8  9 10
                             1  2  3  4  5  6  7  8  9 10 11
                          1  2  3  4  5  6  7  8  9 10 11 12
                       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 13 14
                 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 15 16
           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 17 18
     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 19 20



 
  


  
bl  br