/**
* 用对象的方法打印杨辉三角
*
* @author SunShine
*
*/
public class Exer01 {
public void draw(int h) {
if (h == 0) {
return;
}
if (h > 12) { // 可打印到12行,超过就赋值为可打印最大行数
h = 12;
}
int[][] yh = new int[h][]; // 根据输入值设置二维数组的第一维数
for (int i = 0; i < yh.length; i++) {
yh[i] = new int[i + 1]; // 设置第二维数
yh[i][0] = yh[i][i] = 1; // 对两头的元素赋值为1
for (int j = 1; j < yh[i].length - 1; j++) { // 对中间的元素赋值
yh[i][j] = yh[i - 1][j - 1] + yh[i - 1][j];
}
}
// 打印杨辉三角
for (int i = 0; i < yh.length; i++) {
for (int k = 0; k < h - i - 1; k++) {
System.out.print(" ");
}
System.out.print(yh[i][0] + " ");
for (int j = 1; j < yh[i].length; j++) {
if (yh[i][j] < 10) {
System.out.print(" " + yh[i][j] + " ");
} else if (yh[i][j] < 100) {
System.out.print(" " + yh[i][j] + " ");
} else {
System.out.print(" " + yh[i][j] + " ");
}
}
System.out.println();
}
System.out.println();
}
/**
* @param args
*/
public static void main(String[] args) {
Exer01 test = new Exer01();
test.draw(8);
}
}
1