Java编写杨辉三角
如图就是一个7层的杨辉三角,今天我们就用Java来编写这样一个杨辉三角。我还是把这个过程分为几个小的步骤来完成。
一、编写一个二维数组
通过观察,我们可以知道这样一个杨辉三角其实就是每行列数不同的二维数组,且第i行的列数其实就是i,据此我们可以先构建一个列数不同的杨辉三角。
//创建数组int[][] arr = new int[nums][];for (int i = 0;i<nums;i++) {arr[i] = new int[i+1];}
二、初始化边框
仍然观察上面那个图,我们可以看出每行的第一个数和最后一个数都是1,那么这里我们可以利用一个循环将刚才创建的数组中每行的第一个数和最后一个数设置为1.
//初始化边框for (int i = 0;i<nums;i++) {arr[i][0] = 1;arr[i][i] = 1;}
三、完善内部
继续观察上图,我们可以发现,从第三层开始,内部的第j个数的值都等于上一行的第j-1个数的值加第j个数的值的和。即。据此我们可以将杨辉三角的内部完善。
//完善内部for (int i = 2;i<nums;i++){for(int j = 1;j<i;j++){arr[i][j] = arr[i-1][j-1]+arr[i-1][j];}}
以上便是用Java来编写一个杨辉三角的全过程了,完整代码如下:
import java.util.Scanner;
public class BitOperator {//编写一个main方法public static void main(String[] args){Scanner myScanner = new Scanner(System.in);System.out.print("输入杨辉三角的层数:");int nums = myScanner.nextInt();//创建数组int[][] arr = new int[nums][];for (int i = 0;i<nums;i++) {arr[i] = new int[i+1];}//初始化边框for (int i = 0;i<nums;i++) {arr[i][0] = 1;arr[i][i] = 1;}//完善内部for (int i = 2;i<nums;i++){for(int j = 1;j<i;j++){arr[i][j] = arr[i-1][j-1]+arr[i-1][j];}}//遍历这个杨辉三角System.out.println("====杨辉三角如下====");for (int i = 0;i<nums;i++) {for (int k = nums-i-1;k>0;k--){System.out.print(" ");}for (int j = 0;j<=i;j++){System.out.print(arr[i][j]+" ");}System.out.println();}}
}
结果展示:
Java编写杨辉三角相关推荐
- java代码杨辉三角_用java实现杨辉三角的示例代码
之前有学弟问过我一道java的面试题,题目不算难.用java实现杨辉三角.我花了点时间整理了一下,发现挺有意思的,于是想写下来分享一下.在写代码之前,我们先理清下面两个问题. 什么是杨辉三角 杨辉三角 ...
- php数组写杨辉三角java_用java实现杨辉三角的示例代码
之前有学弟问过我一道java的面试题,题目不算难.用java实现杨辉三角.我花了点时间整理了一下,发现挺有意思的,于是想写下来分享一下.在写代码之前,我们先理清下面两个问题. 什么是杨辉三角 杨辉三角 ...
- Java打印杨辉三角
Java打印杨辉三角 打印杨辉三角首先要理清楚思路,找到其中的规律,,然后通过其中的规律用java循环的方法想办法解决掉.我们通过仔细的观察不难发现杨辉三角除每行最左侧和最右侧的数字外,每个数字等于它 ...
- Java实现杨辉三角的打印
Java打印杨辉三角的两种方式 方式1:打印直角三角形 //这里的行数可以修改为根据键盘输入获取 int row = 8;//杨辉三角的行数 int[][] arr = new int[row][ro ...
- 浅谈PHP编写杨辉三角算法
PHP编写杨辉三角算法如下: <?php function test($n) {for ($i=1;$i<$n;$i++) {for ($j=1;$j<=$i;$j++) {if ( ...
- Java之杨辉三角的实现
今天突然想温习一下Java的基础,想了想就写写杨辉三角吧 1.直接法,利用二维数组 1 import java.util.Scanner; 2 public class Second 3 { 4 pu ...
- Java 输出杨辉三角
今天在学习Java数组的时候,写了个杨辉三角的输出,只输出到前10行. 关键的内容在内部那个for循环上. 话不多说,直接上代码. public class YangHuiArray {public ...
- Java编程——杨辉三角(一)
杨辉三角,是二项式系数在三角形中的一种几何排列.在欧洲,这个表叫做帕斯卡三角形.帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年.杨辉三角是中国古代 ...
- 用Java实现杨辉三角
给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: numRows = 5 输出: [[1],[1, ...
- 【Java】 杨辉三角 二维数组打印杨辉三角
Tips 打印三角的操作 : 每行打印前预留空格 打印指定数量的星号后换行 重复循环打印直至完成所有打印结果 杨辉三角: 三角规律空格最大对称值为 5 大于 5 则会变形 三角规律为当前值为上一个值加 ...
最新文章
- ASP.NET Core开发之HttpContext
- Boost Asio总结(3)异步通信
- 佳顺通用进销存系统去广告_免费OA办公系统的问题汇总回答
- spring的DI/IOC机制
- 工作流实战_12_flowable 流程实例 终止流程
- 文字识别:关键信息提取的3种探索方法
- JFace中TableViewer的使用
- 优云Monitor:开启数据中心主机运维的上帝视角
- 多态在 Java 和 C++ 编程语言中的实现比较
- linux 命令打印,Linux终端打印命令使用介绍
- “趁年轻,浙样爱”陈晓景甜领衔春日恋爱宣言
- Serverless实战——2分钟,教你用Serverless每天给女朋友自动发土味情话
- 12306泄露数据可视化分析
- 手把手教你抄写URP——3——自发光材质
- Word毕业论文排版经验
- anaconda 代码提示,Anaconda安装OpenCV没有自动代码补全
- 软件测试 | 测试开发 | 探究 PHP_CodeSniffer 的代码静态分析原理
- 年年立计划却年年倒?用对计划管理工具是关键
- php+撮合引擎,撮合引擎开发:数据结构设计
- Dvwa之SQL盲注全级别学习笔记