二维数组的应用(杨辉三角)

会有一股神秘感。 提交于 2020-02-13 09:21:01

import java.util.Scanner;

/**
* @author Jocany
*代码:杨辉三角
*/
public class ArrayTest3 {
// 分析:
// A:任何一行的第一列和最后一列都是1
// B:从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。
public static void main(String[] args) {
//键盘输入行数
System.out.println("请输入一个数字:");
Scanner sc=new Scanner(System.in);
int n = sc.nextInt();
//定义一个二维数组
int [][]arr=new int[n][n];
//确定任何一行的第一列和最后一列都是1,用二维数组遍历
for (int i = 0; i < arr.length; i++) {
arr[i][0]=1;
arr[i][i]=1;
}
//行
for (int i = 2; i < arr.length; i++) {
//列
for (int j = 1; j <=i-1; j++) {
//第三行开始每一个数据都是它前一行的前一列与前一行的本列之和;
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
}
//遍历数组
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j <=i; j++) {
//print没有ln
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!