# This program demonstrates a triangular array. : Array SubArray « Collections Data Structure « Java

This program demonstrates a triangular array.

```

/*
This program is a part of the companion code for Core Java 8th ed.
(http://horstmann.com/corejava)

This program is free software: you can redistribute it and/or modify
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

/**
* This program demonstrates a triangular array.
*
* @version 1.20 2004-02-10
* @author Cay Horstmann
*/
public class LotteryArray {
public static void main(String[] args) {
final int NMAX = 10;

// allocate triangular array
int[][] odds = new int[NMAX + 1][];
for (int n = 0; n <= NMAX; n++)
odds[n] = new int[n + 1];

// fill triangular array
for (int n = 0; n < odds.length; n++)
for (int k = 0; k < odds[n].length; k++) {
/*
* compute binomial coefficient n*(n-1)*(n-2)*...*(n-k+1)/(1*2*3*...*k)
*/
int lotteryOdds = 1;
for (int i = 1; i <= k; i++)
lotteryOdds = lotteryOdds * (n - i + 1) / i;

odds[n][k] = lotteryOdds;
}

// print triangular array
for (int[] row : odds) {
for (int odd : row)
System.out.printf("%4d", odd);
System.out.println();
}
}
}

```

### Related examples in the same category

 1 Gets the subarray from array that starts at offset. 2 Gets the subarray of length length from array that starts at offset. 3 Puts the entire source array in the target array at offset offset. 4 Copies bytes from the source byte array to the destination array 5 Exclude 2 arrays of ints 6 This program shows how to store tabular data in a 2D array. 7 Sub Array 8 Reverse an Array 9 Returns a new array containing all of a, with additional extra space added (zero initialized).