import java.util.Scanner;
class Para{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[][] arr = new int[n][n];


for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){

if(j==0){
arr[i][j]=1;
System.out.println();
}

else if(j==arr[i].length-1){
arr[i][j]=1;
}

else if(i>2){
arr[i][j]=arr[i-1][j] + arr[i-1][j-1];
}

System.out.print(arr[i][j]);
}
}
}
}
打印出来的是这样的
1
10
100
1100
12100
133100
1464100
1510105100
161520156101

解决方案 »

  1.   

    package com.shan;import java.util.Scanner;public class YFTriangle {    public static void main(String[] args) {
            printYFTriangle();
        }    /**
         * 1 要理解下面的实现,首先要明白int数组中元素默认值为 0
         * 2 然后每一次迭代打印新的一行的元素的时候:
         * 新的特定位置的元素 = 该位置原来的元素 + 该位置的前一个位置的值
         */
        public static void printYFTriangle(){
            System.out.println("how many lines you want:");
            Scanner in = new Scanner(System.in);
            int lines = in.nextInt();
            int[] a = new int[lines + 1];
            int previous = 1;
            for (int i = 1; i <= lines; i ++){
                for (int j = 1; j <= i; j++){
                    int current = a[j];
                    a[j] = previous + current;
                    previous = current;
                    System.out.print(a[j] + " ");
                }
                System.out.println();
            }
        }}
      

  2.   

    package com.shan;
     
    import java.util.Scanner;
     
    public class YFTriangle {
     
        public static void main(String[] args) {
            printYFTriangle();
        }
     
        /**
         * 1 要理解下面的实现,首先要明白int数组中元素默认值为 0
         * 2 然后每一次迭代打印新的一行的元素的时候:
         * 新的特定位置的元素 = 该位置原来的元素 + 该位置的前一个位置的值
         */
        public static void printYFTriangle(){
            System.out.println("how many lines you want:");
            Scanner in = new Scanner(System.in);
            int lines = in.nextInt();
            int[] a = new int[lines + 1];
            int previous = 1;
            for (int i = 1; i <= lines; i ++){
                for (int j = 1; j <= i; j++){
                    int current = a[j];
                    a[j] = previous + current;
                    previous = current;
                    System.out.print(a[j] + " ");
                }
                System.out.println();
            }
        }
     
    }