码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA 打印菱形(优化)

时间:2018-08-01 14:31:36      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:else   @param   color   inf   com   turn   phi   ring   void   

 

打印正菱形

public class Graphics {
    public static void main(String[] args) {
        new Graphics().paint(9, false);
    }

    /**
     * 打印正菱形
     * @param h 高度
     * @param hollow 是否空心
     */
    public void paint(int h, boolean hollow){
        if(h%2 != 1){
            System.out.println("the height number cannot be even-number");
            return;
        }
        h = h/2;
        for (int i = -h; i <= h; i++) {
            //取绝对值
            int n = Math.abs(i);

            /*
              打印空白部分
              变量变化趋势为 n-1 n-2..1 0 1 .. n-2 n-1
             */
            for (int j = 0; j < n; j++) {
                System.out.print("   ");
            }
            /*
                打印*号部分
                变量变化趋势 1 2 .. n .. 2 1
             */
            for (int j = (h-n)*2+1; j > 0 ; j--) {
                if(hollow && j != ((h-n)*2+1) && j != 1){
                    System.out.print("   ");
                }else{
                    System.out.print(" * ");
                }
            }
            System.out.println();
        }
    }
}

输出结果

技术分享图片

技术分享图片

 

JAVA 打印菱形(优化)

标签:else   @param   color   inf   com   turn   phi   ring   void   

原文地址:https://www.cnblogs.com/hjm0928/p/9400537.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!