用java写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 ***** *** * *** *****
时间: 2023-05-25 17:06:40 浏览: 86
以下是Java程序实现:
```java
import java.util.Scanner;
public class Sandglass {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入奇数个数的符号:");
String symbol = scanner.next();
System.out.print("请输入沙漏的高度:");
int height = scanner.nextInt();
int width = height; // 沙漏的宽度与高度相同
int center = height / 2; // 沙漏的中心点
int count = 0; // 打印的符号数
// 从上往下打印沙漏
for (int i = 0; i < height; i++) {
// 计算每一行打印的数量
if (i <= center) {
count = i * 2 + 1;
} else {
count = (height - i - 1) * 2 + 1;
}
// 计算每一行打印的空格数
int spaceCount = (width - count) / 2;
// 打印空格
for (int j = 0; j < spaceCount; j++) {
System.out.print(" ");
}
// 打印符号
for (int j = 0; j < count; j++) {
System.out.print(symbol);
}
// 换行
System.out.println();
}
}
}
```
运行程序,输入符号和沙漏的高度,即可打印出沙漏形状的符号。例如,输入符号为“*”,沙漏高度为7,输出如下:
```
请输入奇数个数的符号:*
请输入沙漏的高度:7
*
***
*****
*******
*****
***
*
```
阅读全文