用JAVA实现杨辉三角实例

首先我们来详细讲解用JAVA实现杨辉三角的完整攻略,步骤如下:

1. 确定问题及解题思路

杨辉三角是一个数字三角形,它的每一行都是由前一行相邻两个元素相加而成。第一行只有一个数字1,接下来的每一行数字都是通过计算上一行相邻两个数字之和得到的。比如,第三行的数字是1 2 1,其中2=1+1。

我们可以通过二维数组来存储杨辉三角,并使用循环迭代计算每一行的数据。最终输出二维数组即可。

2. 编写JAVA代码

接下来,我们来看具体的JAVA代码实现。代码如下所示:

import java.util.Scanner;

public class YangHuiTriangle {
    public static void main(String[] args) {
        // 定义二维数组
        int[][] arr = new int[10][];
        // 遍历数组
        for (int i = 0; i < arr.length; i++) {
            arr[i] = new int[i + 1];
            for (int j = 0; j < arr[i].length; j++) {
                // 处理杨辉三角边角元素为1的情况
                if (j == 0 || j == arr[i].length - 1) {
                    arr[i][j] = 1;
                } else { // 处理其他情况
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                }
            }
        }
        // 输出杨辉三角
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

3. 示例说明

下面我们来看两个用JAVA实现杨辉三角的示例说明。

示例1

我们需要输出7行的杨辉三角,可以在代码中将二维数组的行数修改为7,代码如下:

import java.util.Scanner;

public class YangHuiTriangle {
    public static void main(String[] args) {
        // 定义二维数组
        int[][] arr = new int[7][];
        // 遍历数组
        for (int i = 0; i < arr.length; i++) {
            arr[i] = new int[i + 1];
            for (int j = 0; j < arr[i].length; j++) {
                // 处理杨辉三角边角元素为1的情况
                if (j == 0 || j == arr[i].length - 1) {
                    arr[i][j] = 1;
                } else { // 处理其他情况
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                }
            }
        }
        // 输出杨辉三角
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[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 

示例2

我们需要通过用户输入行数来输出杨辉三角,可以使用Scanner类接收用户输入的行数,代码如下:

import java.util.Scanner;

public class YangHuiTriangle {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要生成的杨辉三角行数:");
        int num = sc.nextInt();
        // 定义二维数组
        int[][] arr = new int[num][];
        // 遍历数组
        for (int i = 0; i < arr.length; i++) {
            arr[i] = new int[i + 1];
            for (int j = 0; j < arr[i].length; j++) {
                // 处理杨辉三角边角元素为1的情况
                if (j == 0 || j == arr[i].length - 1) {
                    arr[i][j] = 1;
                } else { // 处理其他情况
                    arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
                }
            }
        }
        // 输出杨辉三角
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

运行上述代码,当用户输入行数为7时,输出结果同示例1。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用JAVA实现杨辉三角实例 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 一不小心就让Java开发踩坑的fail-fast是个什么鬼?(推荐)

    一不小心就让Java开发踩坑的fail-fast是个什么鬼? 在Java中,有一种叫做fail-fast的机制,它主要是用于快速发现程序中的错误,并迅速抛出异常。 什么是fail-fast机制? fail-fast机制指的是集合中在进行结构性操作(增删改)时,如果集合的状态发生了变化,那么就立即抛出异常以终止当前操作,这样可以防止对集合的并发修改。 在Jav…

    Java 2023年5月25日
    00
  • 正则表达式中的反向预搜索(上)

    当我们使用正则表达式时,有时候我们需要匹配的内容在某些条件下才成立,这时候就可以使用反向预搜索(lookbehind)来实现。反向预搜索是指在匹配字符时,先查找指定的字符后面是否满足一定的条件,如果满足再继续匹配。 反向预搜索有两种形式:正向零宽度断言(positive lookbehind)和负向零宽度断言(negative lookbehind)。正向零…

    Java 2023年5月23日
    00
  • Java 基于tcp协议实现文件上传

    下面我来详细讲解一下Java基于tcp协议实现文件上传的完整攻略。 一、前置知识 在实现文件上传之前,需要具备以下知识: Java Socket编程基础知识 Java IO编程基础知识 文件上传的基本概念和流程 二、上传文件的流程 客户端连接服务器,向服务器发送需要上传的文件名、文件大小等信息 服务器接收到客户端发来的信息后,创建文件并打开输出流 客户端开始…

    Java 2023年5月19日
    00
  • Java连接数据库步骤解析(Oracle、MySQL)

    Java连接数据库步骤解析(Oracle、MySQL) 在Java开发中,连接数据库是很常见的操作。这里就介绍一下Java连接Oracle和MySQL数据库的步骤。 1. Oracle数据库连接步骤 1.1 下载驱动 Java连接Oracle需要下载Oracle的JDBC驱动,下载地址如下: https://www.oracle.com/database/t…

    Java 2023年5月26日
    00
  • 使用JDBC工具类实现简单的登录管理系统

    使用JDBC工具类实现简单的登录管理系统需要以下步骤: 准备工作 在项目中引入JDBC依赖,如使用Maven引入jdbc依赖: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> &l…

    Java 2023年6月16日
    00
  • Kafka利用Java实现数据的生产和消费实例教程

    Kafka利用Java实现数据的生产和消费实例教程 Kafka是一个高性能的分布式消息队列,可以用于实现各种系统之间的异步通信以及数据流的处理。本文将介绍如何使用Java实现Kafka的数据生产和消费。以下是详细的步骤: 步骤一:安装和启动Kafka服务器 在开始使用Kafka之前,需要先安装Kafka服务器。Kafka服务器的安装过程可以参考Kafka官方…

    Java 2023年5月20日
    00
  • linux自动重启tomcat脚本分享

    下面就为您讲解如何编写一个自动重启Tomcat的Linux脚本。 1. 编写脚本 可以使用Linux系统的crontab服务定时执行Tomcat的重启。在Linux系统的命令行中输入以下命令,进入vi编辑器: vi /root/restart_tomcat.sh 在编辑器中输入以下代码: #! /bin/bash pid=$(ps -ef | grep to…

    Java 2023年5月20日
    00
  • Java编程发展历史(动力节点Java学院整理)

    Java编程发展历史 Java前身 Java语言是由Sun Microsystems公司(后被Oracle公司收购)于1995年推出的一门计算机编程语言。起初,该语言被称为Oak语言,因为Oak是Sun Microsystems的办公室门外长了一棵橡树,而这个项目在设计之初的代号就是Oak。 Java语言推出 后来,强调语言应该与因特网紧密结合,适应网络环境…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部