杨辉三角规律:
1、每个数等于它上方两数之和。
2、每行数字左右对称,由1开始逐渐变大。
3、第n行的数字有n项
import java.util.Scanner;
public class Triangle {
//杨辉三角
@SuppressWarnings("resource")
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("行数为:");
int row =sc.nextInt();
int [][]triangle=new int[row][row];
for(int i=0;i<triangle.length;i++) {
for(int k=0;k<(triangle.length-i)/2;k++) {
System.out.print("\t");
}
for(int j=0;j<=i;j++) {
if(j==0||j==i) {
triangle[i][j]=1;
}else {
triangle[i][j]=triangle[i-1][j-1]+triangle[i-1][j];
}
System.out.print(triangle[i][j]+"\t");
}
System.out.println();
}
}
}
但这种方法会导致排列不美观,可以用下面的方法。
public class Demo {
public static void main(String[] args) {
int rows = 10;
for (int i = 0; i < rows; i++) {
int number = 1;
// 打印空格字符串
System.out.format("%" + (rows - i) * 2 + "s", "");
for (int j = 0; j <= i; j++) {
System.out.format("%4d", number);
number = number * (i - j) / (j + 1);
}
System.out.println();
}
}
}