java打印空心实心菱形

public class DiamondPrint {
   /**
    * @param n        行数
    * @param isHallow 空心或者实心标志
    */
   public static void print(int n, boolean isHollow) {
      if (n < 3 || n % 2 == 0) {
         System.out.println("数字不是大于3的奇数。");
         return;
      }
      //r 、l代表左右位置标志
      int r = n / 2 + n % 2 - 1;
      int l = r;
      boolean var1, var2;
      for (int i = 0; i < n; i++) {
         for (int j = 0; j < n; j++) {
            var1 = isHollow? (j == l || j == r) : (l <= j && j <= r);
            if (var1) {
               System.out.print("*");
            } else {
               System.out.print(" ");
            }
         }
         var2 = l == 0 ? true : false;

         if (!var2) {
            r++;
            l--;
         } else {
            r--;
            l++;
         }
         System.out.println();
      }
   }

   public static void main(String[] args) {
      long start = System.currentTimeMillis();
      print(9, false);
      System.out.println("耗时:" + (System.currentTimeMillis() - start));
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值