1. 问答
  2. 问答详情

java打印一个n行的杨辉三角

1个回答

0

采纳
import java.util.Scanner;
public class Test {
   public void show(int n) {
       int[][] nn = new int[n][]; // 根据输入值设置二维数组的第一维数
       for (int i = 0; i < nn.length; i++) {
           nn[i] = new int[i + 1]; // 设置第二维数
           nn[i][0] = nn[i][i] = 1; // 对两头的元素赋值为1
           for (int j = 1; j < nn[i].length - 1; j++) { // 对中间的元素赋值
               nn[i][j] = nn[i - 1][j - 1] + nn[i - 1][j];
           }
      }
      // 打印杨辉三角
      for (int i = 0; i < nn.length; i++) {
          for (int k = 0; k < n - i - 1; k++) {
              System.out.print(" ");
          }
          System.out.print(nn[i][0] + " ");
          for (int j = 1; j < nn[i].length; j++) {
              if (nn[i][j] < 10) {
                  System.out.print(" " + nn[i][j] + " ");
              } else if (nn[i][j] < 100) {
                  System.out.print(" " + nn[i][j] + " ");
              } else {
                  System.out.print(" " + nn[i][j] + " ");
              }
          }
          System.out.println();
      }
      System.out.println();
   }
   public static void main(String[] args) {
       Scanner in = new Scanner(System.in);
       System.out.println("输入一个数字(n):");
       int n = in.nextInt();
       Test test = new Test();
       test.show(n);
   }
}


撰写答案

验证码
点击刷新