写一段java代码,输入奇数n输出有n行的菱形,第1行有1个*,第(n+1)/2行有n个*,第n行有1个*,要求每个*之间加入一个空格
时间: 2024-10-29 16:20:00 浏览: 6
Android studio中实现输入一个整数N,输出1+2+3+...+N的求和结果
当然可以,这是一个简单的Java代码示例,用于打印指定行数的菱形星号排列:
```java
import java.util.Scanner;
public class DiamondShape {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个奇数:");
int n = scanner.nextInt();
// 验证输入是否为奇数
if (n % 2 == 0) {
System.out.println("输入必须是奇数!");
return;
}
printTopHalf(n);
printBottomHalf(n);
}
private static void printTopHalf(int n) {
for (int i = 1; i <= (n + 1) / 2; i++) {
for (int j = 1; j <= n - i + 1; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println();
}
}
private static void printBottomHalf(int n) {
for (int i = (n + 1) / 2; i > 0; i--) {
for (int j = 1; j <= n - i + 1; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("* ");
}
System.out.println(); // 去掉最后一行的换行符
}
}
}
```
当你运行这个程序并输入一个奇数,它会按照描述打印出对应的菱形。如果输入的是偶数,它会提示用户输入必须是奇数。
阅读全文