- public class YanghuiTriangle {
- public static void main(String[] args) {
- int triangle[][]=new int[10][];// 创建二维数组
- // 遍历二维数组的第一层
- for (int i = 0; i < triangle.length; i++) {
- triangle[i]=new int[i+1];// 初始化第二层数组的大小
- // 遍历第二层数组
- for(int j=0;j<=i;j++){
- if(i==0||j==0||j==i){ // 判断元素是否位于三角形的两个侧边
- triangle[i][j]=1;
- }else{
- triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1];// 其他数值通过公式计算
- }
- System.out.print(triangle[i][j]+"\t"); // 输出数组元素
- }
- System.out.println(); // 换行
- }
- }
- }
分析: 杨辉三角的特点, 在于两侧值均为 1, 在数组中表示就是 triangle[i][i] 与 triangle[i][0] 的元素值均为 1
其他部分的值, 为其正上方的数值与左上角的数值之和, 即 triangle[i][j]=triangle[i-1][j]+triangle[i-1][j-1]
重点补充: Java 中的二维数组其实是每个元素都是一个一维数组的一维数组. 所以第二个维数长度可以任意, 不在创建时进行限定
来源: http://www.bubuko.com/infodetail-2931600.html