首先如图所示,输出结果是一个实心菱形,由“”填充。
直观来看,图像由“”组成,但在实现的过程中,每行“”前面的空格数量决定了“”所处的位置;根据菱形这个特殊的图形可以看出,每行前面的空格数量先递减后递增,“*”的数量先递增后递减,所以可以分上下两部分来实现;根据观察很容易发现其中的规律,利用循环语句可以实现得到结果,代码如下:
public class Demo02 {
public static void main(String[] args) {
int row = 4;
for (int i = 1; i <= row; i++) {
for (int a = row - i; a >= 0; a--) {
System.out.print(" ");
}
for (int b = 1; b <= 2 * i - 1; b++) {
System.out.print("*");
}
System.out.println();
}
for (int i = row; i >= 0; i--) {
for (int a = row; a > i; a--) {
System.out.print(" ");
}
for (int b = 2 * i; b >= 0; b--) {
System.out.print("*");
}
System.out.println();
}
}
}