Post date: Apr 4, 2012 2:55:08 AM
结果如下:
Please input a number standing for level:
4
levels 1 : 1
levels 2 : 1 1
levels 3 : 1 2 1
levels 4 : 1 3 3 1
levels 5 : 1 4 6 4 1
代码如下:
import java.util.Scanner;public class DemoTriangle { private int[][] store = null; // two ways array to store the values private int n = 0; //level public static void main(String[] args) { DemoTriangle demo = new DemoTriangle(); //require a input integer to show how many level of Triangle demo.setN(demo.requriedInputValue()); demo.calculateSet(demo.getN()); demo.showTriangle(demo.getStore()); } private void showTriangle(int[][] store) { //System.out.println("<----------->Result<----------->"); int tempLength = store.length; for (int i = 0; i < store.length; i++) { System.out.print("levels " + (i + 1) + " :\t"); for (int j = 0; j < tempLength - 1; j++) { System.out.print("\t"); } tempLength = tempLength - 1; for (int k = 0; k < store[i].length; k++) { System.out.print(store[i][k] + "\t\t"); } System.out.println(); } } private int[][] calculateSet(int n) { store = new int[n + 1][]; //create the two ways array for (int i = n; i >= 0; i--) { store[i] = new int[i+1]; } //assign the values to the array for (int i = n; i >= 0; i--) { for (int j = 0; j <= i; j++) { int temp = this.calculateHierachy(i) / (this.calculateHierachy(j) * this.calculateHierachy(i - j)); store[i ][j] = temp; } } return store; } private int calculateHierachy(int n) { int temp = 1; if (n == 1 || n == 0) { return temp; } else { temp = n * calculateHierachy(n - 1); return temp; } } private int requriedInputValue() { System.out.println("Please input a number standing for level:"); Scanner scaner = new Scanner(System.in); int n = scaner.nextInt(); return n; } public int[][] getStore() { return store; } public void setStore(int[][] store) { this.store = store; } public int getN() { return n; } public void setN(int n) { this.n = n; }}