Java经典问题——打印杨辉三角形
在控制台上打印杨辉三角 要求可以使用键盘输入控制行数
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
…
规律:每一行第一个和最后一个都是1
从第三行开始,每一个数据都是上一行的前一列数字和上一行的本列数字之和
首先定义一个二维数组,数组元素为行数和列数且行数等于列数
编写打印杨辉三角的方法
import java.util.Scanner;
public class YangHui {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//创建对象
System.out.println("请输入要打印的行数:");
int line=sc.nextInt();//输入行数
int[][] arr=new int[line][line];//定义一个数组,行数=列数
printArry(arr,line);
}
public static void printArry(int[][] arr,int i) {
for( i=0;i<arr.length;i++) {//每一行第一个和最后一个都是1
arr[i][0]=1;
arr[i][i]=1;
}
for( i=2;i<arr.length;i++) {//从第三行开始,每一个数据都是上一行的前一列数字和上一行的本列数字之和
for(int j=1;j<i;j++) {
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
}
for( i=0;i<arr.length;i++){
for(int j=0;j<=i;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
结果演示
输入5行,打印结果