Java小白入门200例28之Java杨辉三角
Posted 编程界明世隐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java小白入门200例28之Java杨辉三角相关的知识,希望对你有一定的参考价值。
作者简介
作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!
引言
很多Java初学者问我,新手明明很用心、很努力学习的Java知识,转头又忘记了,很让人犯愁,小白如何能够快速成长、成为大牛呢?
其实要成为大神的技巧只有一个:“多学多练”,于是明哥就整理了比较典型的练习实例,通过练习能够快速提升编码技巧和熟练度,让你在成为大佬的路上一去不复返(切记要亲手练习哦)!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 27.二维数组的定义和使用
►下一篇 29.实现乘法口诀表
需求
打印杨辉三角形
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
分析:
a:任何一行的第一列和最后一列都是1
b:从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。如第4行的6,就是上一行的3,再加上前面一个3的和。
实现
- 实例化控制台输入
- 根据输入的行来初始化数组,列数先不写。
- 循环行数,根据当前行数 i 来确定列数(列数= i +1)。
- 循环列数,如果是第一列或者最后一列则直接设置此元素值为1。
- 如果不是,则元素值为上一行的前一列和它上一行的本列之和。
package demo.demo28;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//从控制台获取行数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入行数:");
int row = scanner.nextInt();
//根据行数定义好二维数组,由于每一行的元素个数不同,所以不定义每一行的个数
int[][] arr = new int[row][];
//遍历二维数组
for(int i = 0; i < row; i++){
//初始化每一行的这个一维数组
arr[i] = new int[i + 1];
//遍历这个一维数组,添加元素
for(int j = 0; j <= i; j++){
//每一列的开头和结尾元素为1,开头的时候,j=0,结尾的时候,j=i
if(j == 0 || j == i){
arr[i][j] = 1;
} else {//每一个元素是它上一行的元素和斜对角元素之和
arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1];
}
System.out.print(arr[i][j] + "\\t");
}
System.out.println();
}
}
}
运行结果:
小结
这节总结了“Java杨辉三角”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。
评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!
导航
✪ Java小白入门200例系列目录索引
◄上一篇 27.二维数组的定义和使用
►下一篇 29.实现乘法口诀表
热门专栏推荐
1.Java小游戏系列(俄罗斯方块、飞机大战、植物大战僵尸等)
2.JavaWeb项目实战(图书管理、在线考试、宿舍管理系统等)
3.JavaScript精彩实例(飞机大战、扫雷、贪吃蛇、验证码等)
4.Java小白入门200例
5.从零学Java、趣学Java、以王者荣耀角度学Java
另外
为了帮助更多小白从零进阶 Java 工程师,从CSDN官方那边搞来了一套 《Java 工程师学习成长知识图谱》,尺寸 870mm x 560mm,展开后有一张办公桌大小,也可以折叠成一本书的尺寸,原件129元现价 29 元,先到先得,有兴趣的小伙伴可以了解一下!
以上是关于Java小白入门200例28之Java杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章
Java小白入门200例105之Java ArrayList类