java:打印菱形图案(传参打印的自定义字符和行数)

打印菱形图案:

 代码实现:

public class Hello {
	public static void main(String args[]) {
             LingXingPrint("#", 7);
        }

        public static void LingXingPrint(String i, int num) {
		/**
		 * 打印菱形,传参:i 为打印的字符,num为行数 。
		 * 思路:将菱形分为上三角和下三角,上三角:每一行空格打印数为总行数-行号;每一行字符打印个数为2*行号-1;下三角:为上三角打印顺序的倒序
		 */
		num = num / 2 + 1; // 定义上三角行数总行数/2 + 1,下三角行数则为num-1
		for (int j = 1; j <= num; j++) { // 遍历每一行
			for (int j2 = 1; j2 <= num - j; j2++) { // 打印空格:总行号-行号
				System.out.print(' ');
			}
			for (int j2 = 1; j2 <= 2 * j - 1; j2++) { // 打印字符:行号*2 -1
				System.out.print(i);
			}
			System.out.println(); // 换行
		}
		for (int j = num - 1; j >= 1; j--) { // 倒序遍历每一行
			for (int j2 = num - j; j2 >= 1; j2--) { // 倒序-打印空格:总行号-行号
				System.out.print(' ');
			}
			for (int j2 = 2 * j - 1; j2 >= 1; j2--) { // 倒序-打印字符:行号*2 -1
				System.out.print(i);
			}
			System.out.println();
		}
	}  
}

  

posted @ 2019-03-31 16:35  南非波波  阅读(769)  评论(0编辑  收藏  举报