利用一维数组 输出杨辉三角

package com.lanou.java02;

import java.util.Scanner;

public class HomeworkYangHui {

public static void main(String[] args) {

/*

* 1、首先我要一个二维的数组来显示杨辉三角

* */

Scanner scanner = new Scanner(System.in);

int row = scanner.nextInt();

int[ ] [ ] yh = new int[row][];

/*

* 1、第一行,只有一个1

* 2、第二行,只有两个1和上一行没有任何的关系

* 3、第三行,其中第二个元素等于第二行第一个元素加上第二行的第二个元素

* 4、第四行,其中第二个元素等于第三行的第一个元素加上第三行的第二个元素

* 其中第三个元素等于第三行的第二个元素加上第三行的第三个元素

* 5、第i行,其中第j个元素等于第i-1行第j-1个元素加上第i-1行的第j个元素

* 6、所有行的开始,和结尾均是一

* 关键代码:第一行的元素和第二行的元素比较特殊没有办法直接通过公式

* (会报出空指针异常错误 NullPointer)

* 因为是二维数组,所以一定要用到两个for的嵌套

* 但是本题,不是数组的遍历,而是数组的赋值

* */

for(int i = 0 ; i < yh.length ; i++){

int[ ] col = new int [i + 1];  // i + 1为长度

col [0] = 1;

col [i] = 1;

if (i >= 2){

for( int j = 1; j < i ; j++){

col[ j ] = yh[i-1][j-1] + yh[i-1][j];

}

}

yh[i] = col;

}

for(int i = 0; i < yh.length; i++){

for(int  z = 0; z <= yh.lengthi; z++){

System.out.print(” “);

}

for(int j = 0; j < yh[i].length; j++){

System.out.print(yh[i][j] + ”  “);

}

System.out.println();

}

}

}

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/w12111w/article/details/77109517
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞