1 package FushiExam; 2 import java.util.*; 3 public class Text_33 { 4 5 public static void main(String[] args) { 6 // 打印杨辉三角 7 /* 8 * 1 9 * 1 1 10 * 1 2 1 11 * 1 3 3 1 12 1 4 6 4 1 13 1 5 10 10 5 1 14 杨辉三角如图所示: 15 16 分析: 17 在数组中设置一个n*n的矩阵,不考虑格式,如图: 18 1 19 1 1 20 1 2 1 21 1 3 3 1 22 1 4 6 4 1 23 1 5 10 10 5 1 24 * 25 */ 26 Scanner scan=new Scanner(System.in); 27 System.out.println("打印杨辉三角的前多少行:"); 28 int n=scan.nextInt(); 29 int[][] arr=new int[n][n];//用一个n*n的二维矩阵来存储杨辉三角数据 30 for(int i=0;i<n;i++) { 31 for(int j=0;j<n;j++) {//设置每一行数据为‘1’的位置 32 arr[i][0]=1; 33 arr[i][i]=1; 34 } 35 } 36 /* 37 * 接下来设置除了‘1’的位置 38 */ 39 for(int i=0;i<n;i++) { 40 for(int j=0;j<=i;j++) { 41 if(arr[i][j]==0) 42 arr[i][j]=arr[i-1][j-1]+arr[i-1][j]; 43 } 44 } 45 /* 46 * 输出为: 47 * 1 48 * 11 49 * 121 50 * 1331 51 * 14641 52 * 15101051 53 * 54 * 接下来设置输出格式 55 */ 56 for(int i=0;i<n;i++) { 57 for(int k=0;k<n-1-i;k++) {//输出空格 58 System.out.print(" ");}//输出每一行开始的空格 59 for(int j=0;j<=i;j++) { 60 System.out.print(arr[i][j]+" ");//打印每一个数据 61 } 62 System.out.println(); 63 } 64 65 /*for(int i=1;i<n;i++) {//第一层循环,行数 66 for(int j=0;j<n-i;j++) {//第二层循环,用来打印每一行的空格 67 68 } 69 70 } 71 */ 72 } 73 74 }