Java实现杨辉三角:代码示例与详解

本篇文章将详细介绍使用Java语言编写代码,按要求输出杨辉三角。提供完整代码示例和详细解释,并附带示例输出,帮助你轻松掌握杨辉三角的实现方法。

程序框架

class Yanghui{

    int a[][]; //这是用于存放杨辉三角的二维数组,它的每一行的元素数目依次是1、2、3……

    public Yanghui(int n){ }//这个构造方法用于构造a,参数n指定行数

    public Yanghui(){ } //本方法会自动构造一个有10行的二维数组

    public void show(){ // 按直角等腰三角形的格式显示存在a中的杨辉三角

    public void full() { } //在a中填充数据,使其成为杨辉三角

    public static void main(String argv[]){ Yanghui oa; //利用对象oa输出指定行数的杨辉三角 }

}

杨辉三角输出形式

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

格式

  • 输入格式 输入一个整型数n(1≤n≤20),表示杨辉三角的行数

  • 输出格式 n行的杨辉三角内容

代码实现

import java.util.Scanner;

class Yanghui{
    int a[][]; //这是用于存放杨辉三角的二维数组,它的每一行的元素数目依次是1、2、3……

    public Yanghui(int n){ 
        a = new int[n][];
        for(int i=0; i<n; i++){
            a[i] = new int[i+1];
        }
    }//这个构造方法用于构造a,参数n指定行数

    public Yanghui(){ 
        a = new int[10][];
        for(int i=0; i<10; i++){
            a[i] = new int[i+1];
        }
    } //本方法会自动构造一个有10行的二维数组

    public void show(){ 
        for(int i=0; i<a.length; i++){
            for(int j=0; j<a[i].length; j++){
                System.out.print(a[i][j] + ' ');
            }
            System.out.println();
        }
    }// 按直角等腰三角形的格式显示存在a中的杨辉三角

    public void full() { 
        for(int i=0; i<a.length; i++){
            for(int j=0; j<a[i].length; j++){
                if(j==0 || j==a[i].length-1){
                    a[i][j] = 1;
                }else{
                    a[i][j] = a[i-1][j-1] + a[i-1][j];
                }
            }
        }
    }//在a中填充数据,使其成为杨辉三角

    public static void main(String argv[]){ 
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        Yanghui oa = new Yanghui(n);
        oa.full();
        oa.show();
    }
}

代码解释

  1. 二维数组初始化:

    • a = new int[n][]; 创建一个长度为n的二维数组,用于存储杨辉三角。
    • a[i] = new int[i+1]; 每一行数组的长度为i+1,即第i行的元素个数为i+1。
  2. 填充数据:

    • if(j==0 || j==a[i].length-1) a[i][j] = 1; 每一行首尾元素为1。
    • else a[i][j] = a[i-1][j-1] + a[i-1][j]; 杨辉三角中其他元素的值等于上一行对应位置的两个元素之和。
  3. 显示结果:

    • System.out.print(a[i][j] + ' '); 输出当前位置元素的值,并用空格隔开。
    • System.out.println(); 输出换行,开始下一行的输出。

示例输出

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

总结

本文详细介绍了使用Java语言编写代码,按要求输出杨辉三角。通过代码示例和解释,可以帮助你理解杨辉三角的生成规律和Java代码实现方法。希望本文对你学习和理解杨辉三角有所帮助。


原文地址: https://www.cveoy.top/t/topic/jqbV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录