打印杨辉三角--for循环

时间:2022-12-20 21:32:14

要求打印7行直角杨辉三角

杨辉三角特点:

第1行和第2行数字都为1;

从第三行开始,除去开头和结尾数字为1,中间数字为上一行斜对角两个数字的和。

如下图:

打印杨辉三角--for循环

打印结果:

打印杨辉三角--for循环

代码如下:

package 杨辉三角;

public class Test2 {
public static void main(String[] args){
//建立以数组用于存储上一行的数据,因为是从第三行开始中间数是上一行斜对角的两数之和
//所以开始先存第二行的数据,然后在每次用完数组后,改变数组的长度,存储当前行的数据,
//用于下一行数据的计算
int k=2;
int[] temp=new int[k];
temp[0]=temp[k-1]=1; for(int i=1;i<8;i++){
//建立数组,存取当前行数据
int[] arr=new int[i];
//给当前行数组赋值
for(int j=0;j<i;j++){
//先给第一个和最后一个数赋值
if(j==0||j==i-1){
arr[j]=1;
}else{
//中间数为上一行斜对角的两数之和
arr[j]=temp[j-1]+temp[j];
}
}
//给当前行赋值完毕后让k+1,增加数组长度,用于存取当前行的数据
k++;
temp=new int[k];
//打印当前行数组,并给新temp赋值,便于下一行使用当前行数据
for(int y=0;y<arr.length;y++){
temp[y]=arr[y];
System.out.print(arr[y]+" ");
}
System.out.println();
}
}
}

扩展延伸:

通过后台控制打印几行,并要求打印出来的是等腰三角形