Program to Print Pascal Triangle in Java
Pascal's triangle is a set of numbers arranged in the form of a triangle. Each number in a row is the sum of the left number and right number on the above row. If a number is missing in the above row, it is assumed to be 0. The first row starts with number 1. The following is a Pascal triangle with 5 rows,
| 1 | ||||||||
| 1 | 1 | |||||||
| 1 | 2 | 1 | ||||||
| 1 | 3 | 3 | 1 | |||||
| 1 | 4 | 6 | 4 | 1 | 
The triangle is named after the French mathematician Blaise Pascal who organized detailed information on the triangle in a book. However this triangle was known in many ancient civilizations.
Pascal's triangle has a number of unique properties,
- The sum of numbers in each row is twice the sum of numbers in the above row
 - The diagonals adjacent to the border diagonals contains natural numbers in order
 
Generate Pascal's Triangle in Java
The following Java program prints Pascal's triangle with 10 rows.
/* Program to print pascal triangle for 10 rows in java */
public class PascalTriangle {
    
    public static void main(String[] args) {
        
        int rows = 10;
        
        
        for(int i =0;i<rows;i++) {
            int number = 1;
            System.out.format("%"+(rows-i)*2+"s","");
            for(int j=0;j<=i;j++) {
                 System.out.format("%4d",number);
                 number = number * (i - j) / (j + 1);
                
            }
            System.out.println();
        }
        
    }
}
Note the formatting commands used above to create a nicely formatted triangle. %4d instructs the formatter to print the number within 4 spaces. We choose 4 since we know the maximum number of digits in the largest number of a Pascal triangle with 10 rows is 3 digits.
The following program prints a Pascal's triangle when the number of rows are given as a parameter,
/* Program to print pascal triangle for 10 rows in java */
public class PascalTriangle {
    
    public static void main(String[] args) {
        
        int rows = Integer.parseInt(args[0]);
        
        
        for(int i =0;i<rows;i++) {
            int number = 1;
            System.out.format("%"+(rows-i)*2+"s","");
            for(int j=0;j<=i;j++) {
                 System.out.format("%4d",number);
                 number = number * (i - j) / (j + 1);
                
            }
            System.out.println();
        }
        
    }
}