Java杨辉三角,正三角和倒三角,且并行打印

package aa;

import java.util.Scanner;

public class bb {

 public static void main(String[] args) {

  // 定义二维数组的长度

  Scanner scanner = new Scanner(System.in);

        System.out.println("请输入杨辉三角的层数:");

        int length = scanner.nextInt();

        scanner.close();

  // 声明二维数组

  int[][] array = new int[length][];

  // 赋值二维数组

  for (int i = 0; i < array.length; i++) {

   array[i] = new int[i + 1];

   // 遍历该行的一维数组

   for (int j = 0; j < array[i].length; j++) {

    // 如果是这一行的第一个元素和最后一个元素,则值都是1

    if (j == 0 || j == array[i].length - 1) {

     array[i][j] = 1;

    } else {

    // 根据杨辉三角的规律,通过索引上一行的值来获得该行的数值

     array[i][j] = array[i - 1][j - 1] + array[i - 1][j];

    }

   }

   }

   // 赋值二维数组完毕

   // 遍历二维数组,并在控制台进行打印

    for (int i = 0; i < array.length; i++) {

    // 打印空格,打印出来的每行前面的空格数是递减的

      for(int j = 0; j < array.length - 1 - i; j++) {

       System.out.print(" ");

      }

     // 按照顺序打印杨辉三角行向量,打印出来的每行元素的个数是递增的

      for(int j=array.length - 1 - i;j < array.length ;j++) {

          System.out.printf("%4d", array[i][j+1+i-array.length]);

         }

     // 按照顺序打印空格,为保持两个三角形排列整齐,此处空格长度为2*array.length

      for(int j = array.length; j < 2*array.length; j++) {

       System.out.print(" ");

      }

     // 按照顺序打印杨辉三角行向量,打印出来的每行元素的个数是递减的

      for (int j =3*array.length; j <4*array.length-i; j++) {

       System.out.printf("%4d", array[array.length-1-i][j-3*array.length]);

      }

     // 换行

      System.out.println();   

   }

 }

}

 

fab9296f926142c7a3fa6d6b4e70aede.jpg

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值