效果如下 如果没有学习二维数组,记得看一下
步骤1
形状相似于一个直角三角形,直角三角形的双循环的方法
外层循环条件是i<temp //temp是你要打印几行
内层循环条件是j<=i //内层循环的总次数根据外层循环的次数变化
步骤2 i是控制行的 j是控制列的
外层的数字都是1 i==j||j==0 i==j意思就是每行最后的值 j==0意思就是每行第一个值
步骤3
如果不是外层的数子,每行的第2个值开始就是上行同列的值+上行同列-1的值
数组[i][j]=数组[i-1][j]+[i-1][j-1]
打印时也要注意使用直角三角形的双循环打印方法,不然使用二维数组的打印方法会把没有赋值的值输出出来
int i,j,temp;
final Scanner input = new Scanner(System.in);
temp=input.nextInt();
int[][] arr=new int[temp][temp];
for ( i = 0; i < temp; i++) { //步骤1
for ( j = 0; j <= i; j++) {
if(i==j||j==0){ // 步骤2
arr[i][j]=1;
}else { //如果不是外层数子
arr[i][j]=arr[i-1][j]+arr[i-1][j-1]; //步骤3
}
}
}
for ( i = 0; i < arr.length; i++) {
for ( j = 0; j <= i; j++) { //打印时也要用直角三角形的双循环方法
System.out.print(arr[i][j]+" ");
}
System.out.println();
}