首页 > 代码库 > Java小案例——使用双重for循环实现杨辉三角的输出
Java小案例——使用双重for循环实现杨辉三角的输出
杨辉三角特点分析(如图):
*第i行有i列
*每一行的第一个数都为1
*每一行的最后一个数都为1
*当前数(非第一列和最后一列)等于上面一个数+上面一个数的左边的数
实现代码:
/** * 要求:输出杨辉三角 * @author Administration * */ public class YangHuiTest { public static void main(String[] args) { //创建二维数组,定义了行,没有定义列 int[][] arr = new int[10][]; //动态为列开辟空间(杨辉三角每行的列数和当前行号是相同的,如:第5行有5列) for (int i = 0; i < arr.length; i++) { arr[i] = new int[i+1]; } //赋值操作 for (int i = 0; i < arr.length; i++) { arr[i][0] = 1;//第i行第1列,即每行的第一列都是1 arr[i][i] = 1;//第i行的第i列,即每行的最后一个数都是1 //接下来是杨辉三角的核心部分 for(int j=1;j<i;j++){//注意这里的j需要从1开始算起,因为每一行的第一个数我们已经给赋值了 //当前数值-->上一行该列的数+上一行该列的左边的第一个数(看图) arr[i][j]=arr[i-1][j]+arr[i-1][j-1]; } } //打印输出 for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j]+"\t"); //不必换行 } 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 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1
Java小案例——使用双重for循环实现杨辉三角的输出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。