public class PrintLingXing2 {
public static void main(String[] args) {
// 例如菱形图案有7排,中间最长的那排为7个。
for (int i = 1; i <= 4; i++) { // 外层控制行数。
for (int k = 1; k <= 4 - i; k++) { // 打印空格,空格和行数的关系是空格k=4-i,空格数量由多到少。
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) { // 打印星星
System.out.print("*");
}
System.out.println();
}
// 打印下三行
for (int i = 1; i <= 3; i++) { // 外层控制行数。
for (int k = 1; k <= i; k++) { // 下三层空格的形状和上四层空格的形状相反。空格数量由少到多。
System.out.print(" ");
}
for (int j = 1; j <= 7 - 2* i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
因为菱形是不规则图形,打印时候区别于九九乘法表,需要分开进行。
总的来说主要分为三部分:空格的打印,图案内容的打印,换行。
其中代码中标红的地方需要注意,那个是因为上下部分空格的形状是相反的。