直角杨辉三角 

杨辉三角的规律是每行数字的第一列和最后一列的数字都是1,从第三行开始,除去第一列和最后一列都为数字1以外,其余每列的数字都等于它上方两个数字之和。例如下面图片中7字形圈起来的:4 = 3  + 1、35 = 15 +20。

代码实现:

public class YangHuiTriangle {public static void main(String[] args) {int[][] yangHui = new int[10][];for(int i = 0;i < yangHui.length;i++) {yangHui[i] = new int[i+1];yangHui[i][0] = yangHui[i][i] = 1;for(int j = 1;j < yangHui[i].length - 1;j++) {yangHui[i][j] = yangHui[i-1][j] + yangHui[i-1][j-1];}}for(int i = 0;i < yangHui.length ;i++) {for(int j = 0;j <yangHui[i].length;j++) {System.out.print(yangHui[i][j] + " ");}System.out.println();}        }
}

▲yangHui.length : 表示数组的行数 (整个程序中它的值都为 10 )

▲yangHui[i].length : 表示数组的列数(它的值等于 i+1 )

说明:其中 j 的取值范围之所以是 j = 1 ,  j < yangHui[i].length - 1;因为从第三行开始,除去第一列和最后一列都为数字1以外,其余每列的数字都等于它上方两个数字之和。因此我们在第一行和第二行不需要用到第二个 for 循环。

① i = 0, j = 1, yangHui[ i ].length - 1 = 0, j < 0 不符合,不执行第二个循环,回到第一个循环

② i = 1, j = 1, yangHui[ i ].length - 1 = 1, j < 1 不符合,不执行第二个循环,回到第一个循环

由此给第一行和第二行赋了值,接着往下:

③ i = 2, j = 1, yangHui[ i ].length - 1 = 2, j < 1 符合,执行第二个循环,开始给第三行和后面行数除去第一列和最后一列的其他列赋值,至此直到循环结束,再遍历数组就可以得到杨辉三角。

int[][] yangHui = new int[10][]; 只需要把 10 替换成其他数字,就可以得到你想要的杨辉三角的行数

等腰杨辉三角

public class YHtriangle {public static void main(String[] args){int[][] YangHui = new int[10][];for(int i = 0;i < YangHui.length;i++) {//给第i行开辟i+1个空间YangHui[i] = new int[i+1];//给每一行的首位元素赋值,根据规律都赋值为1YangHui[i][0] = YangHui[i][i] = 1;//j=1是为了从第三行开始给中间元素赋值(根据杨辉三角规律从第三行开始)for(int j = 1;j < YangHui[i].length - 1;j++) {YangHui[i][j] = YangHui[i-1][j] + YangHui[i-1][j-1];}}//直角输出for(int i = 0;i < YangHui.length;i++) {for(int j = 0;j < YangHui[i].length;j++) {System.out.print(YangHui[i][j] + " ");}System.out.println();}//等腰输出for(int i = 0;i < YangHui.length;i++) {for(int j = 0;j < YangHui.length - i;j++) {System.out.print("  ");}for(int k = 0;k <= i;k++) {//System.out.print(YangHui[i][k] + " ");System.out.format("%4d", YangHui[i][k]);//格式化,每个位置固定占有4个字符的 空间}System.out.println();}}}

运行结果:

 注:有什么问题评论区留言,当天回复 

基于Java的杨辉三角相关推荐

  1. java代码杨辉三角_用java实现杨辉三角的示例代码

    之前有学弟问过我一道java的面试题,题目不算难.用java实现杨辉三角.我花了点时间整理了一下,发现挺有意思的,于是想写下来分享一下.在写代码之前,我们先理清下面两个问题. 什么是杨辉三角 杨辉三角 ...

  2. php数组写杨辉三角java_用java实现杨辉三角的示例代码

    之前有学弟问过我一道java的面试题,题目不算难.用java实现杨辉三角.我花了点时间整理了一下,发现挺有意思的,于是想写下来分享一下.在写代码之前,我们先理清下面两个问题. 什么是杨辉三角 杨辉三角 ...

  3. Java打印杨辉三角

    Java打印杨辉三角 打印杨辉三角首先要理清楚思路,找到其中的规律,,然后通过其中的规律用java循环的方法想办法解决掉.我们通过仔细的观察不难发现杨辉三角除每行最左侧和最右侧的数字外,每个数字等于它 ...

  4. Java实现杨辉三角的打印

    Java打印杨辉三角的两种方式 方式1:打印直角三角形 //这里的行数可以修改为根据键盘输入获取 int row = 8;//杨辉三角的行数 int[][] arr = new int[row][ro ...

  5. Java之杨辉三角的实现

    今天突然想温习一下Java的基础,想了想就写写杨辉三角吧 1.直接法,利用二维数组 1 import java.util.Scanner; 2 public class Second 3 { 4 pu ...

  6. Java 输出杨辉三角

    今天在学习Java数组的时候,写了个杨辉三角的输出,只输出到前10行. 关键的内容在内部那个for循环上. 话不多说,直接上代码. public class YangHuiArray {public ...

  7. Java编程——杨辉三角(一)

    杨辉三角,是二项式系数在三角形中的一种几何排列.在欧洲,这个表叫做帕斯卡三角形.帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年.杨辉三角是中国古代 ...

  8. 用Java实现杨辉三角

    给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行. 在「杨辉三角」中,每个数是它左上方和右上方的数的和. 示例 1: 输入: numRows = 5 输出: [[1],[1, ...

  9. 【Java】 杨辉三角 二维数组打印杨辉三角

    Tips 打印三角的操作 : 每行打印前预留空格 打印指定数量的星号后换行 重复循环打印直至完成所有打印结果 杨辉三角: 三角规律空格最大对称值为 5 大于 5 则会变形 三角规律为当前值为上一个值加 ...

  10. JAVA打印输出杨辉三角前n行_Java 打印n行杨辉三角数据

    import java.util.Scanner; class  T22 { public static void main(String[] args) { System.out.println(& ...

最新文章

  1. ftp服务器文件备份,数据备份是十分重要的,下面是通过ftp将本机数据备份到远程服务器的一个例子...
  2. SpringBoot 序列化与反序列化日期类型参数
  3. JavaScript实现跳跃游戏的贪婪方法的算法(附完整源码)
  4. CAD公差表以及如何算
  5. 去掉Mybatis Generator生成的一堆 example
  6. oracle的count的null为0,count(字段)不统计null值
  7. SpringCloud工作笔记73---Http协议操作工具集合
  8. 命令查看IPV6的IP,路由,邻居信息
  9. SteveY对Amazon和Google平台的吐槽
  10. tensorflow之add_n
  11. 百战学堂python教学文档_尚学堂百战程序员:python对文件的操作
  12. wangeditor富文本编辑器拓展菜单——格式刷
  13. Canon LBP 2900 Mac 10.11 驱动安装
  14. 9行代码制作一个简单的油猴插件
  15. 手把手教你制作油管上30万播放的动态登录页面效果
  16. 微信群超好用的红包抽奖小程序
  17. 如何撰写国内外研究现状
  18. 规范化、归一化、标准化、中心化、正则化
  19. Angular慕课网
  20. 计算斐波那契数列第100项(二维数组思维转换)

热门文章

  1. 内网通手动修改积分_WooCommerce微信小程序2.9.4版本发布 拼团积分购适配可变产品 微信搜索推送...
  2. 使用docker安装部署postgres(带有postGis插件的)
  3. CAD如何导出天正各版本DWG图纸?CAD图形导出教程
  4. 路由器网络性能测试软件,路由器压力测试工具 路由器UDP攻击软件 路由器性能测试...
  5. 高等数学(第七版)同济大学 习题7-8 个人解答
  6. EasyCVR通过Ehome协议接入设备,获取RTSP流地址异常如何解决?
  7. 2019年研究生数学建模竞赛优秀论文汇总
  8. Java字节码增强探秘
  9. 《算法》第四版官网库及数据文件
  10. ARM指令集与Thumb指令集与Thumb-2指令集的区别