admin管理员组文章数量:1794759
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编写杨辉三角 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686864497a111966.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论