Java小案例——使用双重for循环实现杨辉三角的输出

Posted 沐易笙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小案例——使用双重for循环实现杨辉三角的输出相关的知识,希望对你有一定的参考价值。


杨辉三角特点分析(如图):

  *第i行有i列

  *每一行的第一个数都为1

  *每一行的最后一个数都为1

  *当前数(非第一列和最后一列)等于上面一个数+上面一个数的左边的数


实现代码:

/**
 * 要求:输出杨辉三角
 * @author Administration
 *
 */
public class YangHuiTest {

    public static void main(String[] args) {
        //创建二维数组,定义了行,没有定义列
        int[][] arr = new int[10][];
        //动态为列开辟空间(杨辉三角每行的列数和当前行号是相同的,如:第5行有5列)
        for (int i = 0; i < arr.length; i++) {
            arr[i] = new int[i+1];
        }
        //赋值操作
        for (int i = 0; i < arr.length; i++) {
            arr[i][0] = 1;//第i行第1列,即每行的第一列都是1
            arr[i][i] = 1;//第i行的第i列,即每行的最后一个数都是1
            //接下来是杨辉三角的核心部分
            for(int j=1;j<i;j++){//注意这里的j需要从1开始算起,因为每一行的第一个数我们已经给赋值了
                //当前数值-->上一行该列的数+上一行该列的左边的第一个数(看图)
                arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
            }
        }
        //打印输出
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]+"\\t");  //不必换行
            }
            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    

 

以上是关于Java小案例——使用双重for循环实现杨辉三角的输出的主要内容,如果未能解决你的问题,请参考以下文章

0125 双重for循环:语法执行思路打印m行n列打印倒三角形正三角九九乘法表

c语言 使用双重循环输出n行的等腰三角形。 例:当n=5时,输出为 * *** ***** ******* *********

案例方式学习JavaScript双重for循环

shell之forwhileuntil循环双重循环

java使用for循环输出图形 * *** ***** ******* ***** *** *

循环语句之双重循环练习