当前位置 博文首页 > YHSevenWater的博客:Java写任意行的杨辉三角
package com.java.arraysdemo;
import java.util.Scanner;
//打印一个任意输入行的杨辉三角
/*
1. 第一行有 1 个元素, 第 n 行有 n 个元素
2. 每一行的第一个元素和最后一个元素都是 1
3. 从第三行开始, 对于非第一个元素和最后一个元素的元素。
*/
public class ArrayDemo3 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入杨辉三角的行数:");
int number = scanner.nextInt();
//1.声明并初始化二维数组
int [][] pascalTriangle = new int[number][]; //确定行为number,列暂时不能确定。
//2.二维数组赋值
for (int i = 0; i < pascalTriangle.length; i++) {
pascalTriangle[i] = new int[i + 1]; //二维降维到一维数组进行初始化
//2.1给首尾元素赋值
pascalTriangle[i][0] = 1;
pascalTriangle[i][i] = 1;
//2.2给特殊位置赋值
if(i > 1){
for (int j = 1; j < pascalTriangle[i].length -1; j++) { //从第二列开始到倒数第二列结束遍历
pascalTriangle[i][j] = pascalTriangle[i-1][j-1] + pascalTriangle[i-1][j];
}
}
}
//3.二维数组遍历
for (int i = 0; i < pascalTriangle.length; i++) {
for (int j = 0; j < pascalTriangle[i].length; j++) {
System.out.print(pascalTriangle[i][j]+"\t");
}
System.out.println();
}
}
}
cs