The Java class Pascal:

Here is a Java Pascal class that creates a two-dimensional array in a triangular shape, and stores numbers in it so that it becomes what is known as

Pascal's Triangle:


// Pascal.java: create and print Pascal's triangle public class Pascal { final static int SIZE = 12; public static void main (String[] args) { // create the triangle and fill in numbers int[][] pascal = new int[SIZE][]; // just the SIZE rows initially for (int y = 0; y < pascal.length; y++) { // each row y pascal[y] = new int[y+1]; // allocate each row, of increasing lengths pascal[y][0] = 1; // set each initial 1 value for (int x = 1; x < pascal[y].length - 1; x++) { // columns, except first and last // except for 1's, each value is sum of values above and left pascal[y][x] = pascal[y-1][x-1] + pascal[y-1][x]; } pascal[y][pascal[y].length - 1] = 1; // set the final 1 value } // print as an array for (int y = 0; y < pascal.length; y++) { // each row y for (int x = 0; x < pascal[y].length; x++) // each column x System.out.print(pascal[y][x] + "\t"); System.out.println(); } System.out.println(); // print with extra spaces, so it looks like a triangle for (int y = 0; y < pascal.length; y++) { // each row y // extra initial space here for (int x = (pascal.length - pascal[y].length)/2; x > 0; x--) { System.out.print(" " + "\t"); } for (int x = 0; x < pascal[y].length; x++){ // each column x // extra 4 spaces on alternate rows if ( (y%2) == 0 ) System.out.print(" "); System.out.print(pascal[y][x] + "\t"); } System.out.println(); } } }

Here is the output with SIZE == 8:

1
1       1
1       2       1
1       3       3       1
1       4       6       4       1
1       5       10      10      5       1
1       6       15      20      15      6       1
1       7       21      35      35      21      7       1

                            1
                        1       1
                    1       2       1
                1       3       3       1
            1       4       6       4       1
        1       5       10      10      5       1
    1       6       15      20      15      6       1
1       7       21      35      35      21      7       1

Here is the output when with SIZE == 12:

1
1       1
1       2       1
1       3       3       1
1       4       6       4       1
1       5       10      10      5       1
1       6       15      20      15      6       1
1       7       21      35      35      21      7       1
1       8       28      56      70      56      28      8       1
1       9       36      84      126     126     84      36      9       1
1       10      45      120     210     252     210     120     45      10     1
1       11      55      165     330     462     462     330     165     55     11       1

                                            1
                                        1       1
                                    1       2       1
                                1       3       3       1
                            1       4       6       4       1
                        1       5       10      10      5       1
                    1       6       15      20      15      6       1
                1       7       21      35      35      21      7       1
            1       8       28      56      70      56      28      8       1
        1       9       36      84      126     126     84      36      9      1
    1       10      45      120     210     252     210     120     45      10     1
1       11      55      165     330     462     462     330     165     55     11       1
Here is the output when with SIZE == 16:

1
1       1
1       2       1
1       3       3       1
1       4       6       4       1
1       5       10      10      5       1
1       6       15      20      15      6       1
1       7       21      35      35      21      7       1
1       8       28      56      70      56      28      8       1
1       9       36      84      126     126     84      36      9       1
1       10      45      120     210     252     210     120     45      10     1
1       11      55      165     330     462     462     330     165     55     11       1
1       12      66      220     495     792     924     792     495     220    66       12      1
1       13      78      286     715     1287    1716    1716    1287    715    286      78      13      1
1       14      91      364     1001    2002    3003    3432    3003    2002   1001     364     91      14      1
1       15      105     455     1365    3003    5005    6435    6435    5005   3003     1365    455     105     15      1

                                                            1
                                                        1       1
                                                    1       2       1
                                                1       3       3       1
                                            1       4       6       4       1
                                        1       5       10      10      5       1
                                    1       6       15      20      15      6       1
                                1       7       21      35      35      21      7       1
                            1       8       28      56      70      56      28      8       1
                        1       9       36      84      126     126     84      36      9       1
                    1       10      45      120     210     252     210     120     45      10      1
                1       11      55      165     330     462     462     330     165     55      11      1
            1       12      66      220     495     792     924     792     495     220     66      12      1
        1       13      78      286     715     1287    1716    1716    1287    715     286     78      13      1
    1       14      91      364     1001    2002    3003    3432    3003    2002    1001    364     91      14      1
1       15      105     455     1365    3003    5005    6435    6435    5005    3003    1365    455     105     15      1


Revision date: 2003-11-05. (Please use ISO 8601, the International Standard.)