/*
需求:打印杨辉三角形(行数可以键盘录入)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
分析:看这种图像的规律
A:任何一行的第一列和最后一列都是1
B:从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。
步骤:
A:首先定义一个二维数组。行数如果是n,我们把列数也先定义为n。
这个n的数据来自于键盘录入。
B:给这个二维数组任何一行的第一列和最后一列赋值为1
C:按照规律给其他元素赋值
从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。
D:遍历这个二维数组。
*/
import java.util.Scanner;
class Arr3{
public static void main(String[] args){
Scanner sc =
new Scanner(System.in);
System.out.println("请输入第一个数据"
);
int n =
sc.nextInt();
int[][] arr =
new int[n][n];
for(
int x=0;x<arr.length;x++
){
arr[x][0]=1
;
arr[x][x]=1
;
}
for(
int x=2;x<arr.length;x++
){
for(
int y=1;y<arr[x].length;y++
){
arr[x][y]=arr[x-1][y-1]+arr[x-1
][y];
}
}
//遍历数组
for(
int x=0;x<arr.length;x++
){
for(
int y=0;y<=x;x++
){
System.out.print(arr[x][y]);
}
System.out.println();
}
}
}报错:
D:\Java学习\记录\Arr例题>javac Arr3.java
D:\Java学习\记录\Arr例题>java Arr3请输入第一个数据511111Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at Arr3.main(Arr3.java:48)
转载于:https://www.cnblogs.com/2176538496qq/p/6628310.html
相关资源:大神码字及注册机