请你写出输出一下结果的代码:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 1
第一种:利用二维数组来实现 Triangle01.java文件中 package com.ibm.etp.Triangle; import java.util.Scanner; public class Triangle01 { public static void main(String[] args) { /*添加输入你要计算的行数*/ int num; System.out.println("请输入你想计算的行数:"); Scanner scanner = new Scanner(System.in); num=scanner.nextInt(); int b[][]=new int[num][num]; for(int j=0;j<num;j++){ //定义行数 for(int k=0;k<=j;k++){ //定义每一行的元素 if(j==0||k==0||k==j){ //先得到两边为1的元素 b[j][k]=1; }else{ //计算中间不为1的元素 b[j][k]=b[j-1][k-1]+b[j-1][k];//计算值 } } } for(int m=0;m<num;m++){ System.out.println(); //换行 for(int n=0;n<=m;n++){ System.out.print(b [n]+"t");//循环输出 } } } } 第二种:利用推导式来实现 Triangle02.java文件中 package com.ibm.etp.Triangle; import java.util.Scanner; public class Triangle02 { public static void main(String[] args) { int i,j,k,n; System.out.println("请输入您要计算的行数:"); Scanner scanner=new Scanner(System.in); n=scanner.nextInt(); for(i=1;i<=n;i++){ //行数i k=1; //因为每一行都是以1开头 for(j=1;j<=i;j++){ //每行的元素位置j System.out.print(k+"t"); //下面这个就是杨辉三角中的推导式 k=k*(i-j)/j; //每行的某个数值跟他行数和位置有关 //k=k*(i-j)/j;就是根据排列组合c(n,x)的值推导出来的 } System.out.println(); } } } 第三种:利用递归函数来实现 Triangle03.java文件中 package com.ibm.etp.Triangle; import java.util.Scanner; public class Triangle03 { public static void main(String[] args) { int n; System.out.println("请输入要输出的杨辉三角的行数:"); Scanner scanner = new Scanner(System.in); n=scanner.nextInt(); output(n); } static void output(int n){ //输出杨辉三角 int i,j; for(i=0;i<=n;i++){ //表示行数 for(j=0;j<=i;j++){ //表示每行的第几个元素 System.out.print(get(i,j)+"t"); } System.out.println(); } } static int get(int i,int j){//的到每一个元素的值 if (j==0||i==j){ return 1; } else{ return get(i-1,j-1)+get(i-1,j); //调用自身 } } }