Java之菱形打印

打印菱形图案:
     首先根据图案的特征进行分析,因为它是一个上面和左右都是对称的图案,在网上很多打印菱形都是分上下两部分来打印,感觉这样很复杂,这里只需要一对for循环就能完成全部的打印,打印行数可以更改初始值进行设置,是否空心可以根据条件进行修改。
//行数为 lineNum*2+1 如lineNum为4,则打印的是一个9行的菱形
int initNum = 5;    
//外循环要打印的行数
for(int i=-initNum;i<(initNum+1);i++){
    //获取绝对值i
    int absi = Math.abs(i);
    //获取总行数与绝对值之间的差值,用来判断要打印多少个特定符号
    int xx = initNum - absi;
    //内循环,循环一行需要打印多次少
    for(int j= -initNum;j<(initNum+1);j++){
        //因为要打印的是每行的中间,所以获取绝对值
        int jdj = Math.abs(j);
        //用获取的绝对值与上面获取的差值进行判断
        //如果要打印空心菱形,只需要将条件的<=改为==就OK
        if(jdj <= xx){
            System.out.print("*");
        }else {
            System.out.print(" ");
        }
    }
    //换行打印
    System.out.println("");
}

打印结果1:

    *    
   ***   
  *****  
 ******* 
*********
 ******* 
  *****  
   ***   
    *    

打印结果2:

     *     
    * *    
   *   *   
  *     *  
 *       * 
*         *
 *       * 
  *     *  
   *   *   
    * *    
     *     
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值