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;    }}