import java.util.Scanner;
public class Test{
public static void main(String[] args) {
/**
* 问题描述:
* 编写程序,使其能够输出如下的空心菱形图形
* *
* * *
* * *
* * *
* * *
* * *
* * *
* * *
* *
*/
Scanner scan = new Scanner(System.in);
System.out.print("请输入空心菱形的高:");
int height = scan.nextInt(); //空心菱形的总高度
int mid = height / 2 + 1; //空心菱形的中间部分
int half = mid - 1; //空心菱形的上半部分和下半部分
int row;
//首部
for (int i = 1; i < mid; i++) {
System.out.print(" ");
}
System.out.println("*");
//上半部分
for (row = 1; row < half; row++){
//左侧空格
for (int space1 = 1; space1 <= half - row; space1++) {
System.out.print(" ");
}
System.out.print("*");
//右侧空格
for (int space2 = 1; space2 <= 2 * row - 1; space2++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
}
//中间部分
System.out.print("*");
for (int i = 1; i <= height - 2; i++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
//下半部分
for (row-- ; row > 0; row--){
//左侧空格
for (int space1 = 1; space1 <= half - row; space1++) {
System.out.print(" ");
}
System.out.print("*");
//右侧空格
for (int space2 = 1; space2 <= 2 * row - 1; space2++) {
System.out.print(" ");
}
System.out.print("*");
System.out.println();
}
//尾部
for (int i = 1; i < mid; i++) {
System.out.print(" ");
}
System.out.println("*");
}
}
运行截图: