怎么打印以下菱形图案?

为了便于观看将所有” (空格)”改为”$”得到如下图:

该图形是利用for循环的嵌套,将该图形分为上下两个部分得到:
-
上半部分:

-
下半部分

分析:

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
由此可得:”$”数=行数-行号;”*”数=行号*2-1.
所以上半部分代码为:
//外层for循环,i是行号
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5 - i; j++) {
System.out.print("$");
}
for (int k = 1; k <= i * 2 - 1; k++) {
System.out.print("*");
}
System.out.println();
}

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
经分析下半部分只需将行号反过来即可
//下半部分
for (int i = 4; i >= 1; i--) {
for (int j = 1; j <= 5 - i; j++) {
System.out.print("$");
}
for (int k = 1; k <= i * 2 - 1; k++) {
System.out.print("*");
}
System.out.println();
}
最后将”$”改为” (空格)”即可
public class RhombusDemo1 {
public static void main(String[] args) {
//上半部分
//外层for循环,i是行号
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= 5 - i; j++) {
System.out.print("$");
}
for (int k = 1; k <= i * 2 - 1; k++) {
System.out.print("*");
}
System.out.println();
}
//下半部分
for (int i = 4; i >= 1; i--) {
for (int j = 1; j <= 5 - i; j++) {
System.out.print("$");
}
for (int k = 1; k <= i * 2 - 1; k++) {
System.out.print("*");
}
System.out.println();
}
}
}