java 打印杨辉三角

java 打印杨辉三角

经典问题
打印图形,最重要的是要找到规律。
具体规律详见注释。

public class YangHuiSanJiao{
     
	public static void main(String[] args) {
     
		int array[][]=new int [10][10];
		for(int i=0;i<10;i++){
     
			array[i][i]=1;//对角线全是1
			array[i][0]=1;//第一列全是1
		}
		for(int i=2;i<10;i++) {
     //从第三行开始
			for(int j=1;j<=i-1;j++) {
     //每行从第二列开始
				array[i][j]=array[i-1][j-1]+array[i-1][j];
				//第i行j列的值 = 第i-1行j-1列的值 + 第i-1行j列的值
			}
		}
		for(int i=0;i<10;i++) {
     
			for(int j =9; j >= i; j --){
     
                System.out.print("  ");//打印空格,没有该循环,将是一个直角三角形,如下图运行结果
            }
			for(int j=0;j<=i;j++) {
     
				System.out.print(+array[i][j]+"   ");//打印杨辉三角
			}
			System.out.println(	);
		}
	}
}

运行结果:

1   
1   1   
1   2   1   
1   3   3   1   
1   4   6   4   1   
1   5   10   10   5   1   
1   6   15   20   15   6   1   
1   7   21   35   35   21   7   1   
1   8   28   56   70   56   28   8   1   
1   9   36   84   126   126   84   36   9   1   

                    1   
                  1   1   
                1   2   1   
              1   3   3   1   
            1   4   6   4   1   
          1   5   10   10   5   1   
        1   6   15   20   15   6   1   
      1   7   21   35   35   21   7   1   
    1   8   28   56   70   56   28   8   1   
  1   9   36   84   126   126   84   36   9   1   

java学习ing.jpg o( ̄▽ ̄)ブ

有其他见解,评论区留言或者私信,一起讨论,纠正。

关注我,努力鸭~和我一起学习鸭~

另外,转载本文章需经作者同意,侵权必究哦

你可能感兴趣的:(java开发,java,经验分享)