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(); } } }
@南非波波
github:https://github.com/swht