Java写一个据用户输入的整数,打印输出菱形图案。 注意:需要判断属入的整数(行数)是否能构成菱形,如里非法,则输出error
时间: 2024-09-20 20:13:08 浏览: 39
当你想要在Java中根据用户输入的整数生成菱形图案时,首先你需要处理输入验证,确保用户提供的数值是有效的,并且能够组成一个菱形。以下是一个简单的示例,展示了如何完成这个任务:
```java
import java.util.Scanner;
public class DiamondPattern {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入菱形的行数:");
int rows;
while (!scanner.hasNextInt()) { // 验证输入是否为整数
System.out.println("输入错误,请输入一个整数:");
scanner.next();
}
rows = scanner.nextInt();
if (rows % 2 == 0 || rows < 1) { // 判断行数是否能构成菱形
System.out.println("Error: 输入的行数需为奇数且大于0才能形成菱形");
} else {
printDiamond(rows);
}
scanner.close();
}
private static void printDiamond(int rows) {
for (int i = 1; i <= rows; i++) {
for (int j = 0; j < rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println(); // 换行
}
for (int i = rows - 2; i >= 0; i--) {
for (int j = 0; j < rows - i; j++) {
System.out.print(" ");
}
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
System.out.println(); // 换行
}
}
}
```
在这个程序中,我们首先读取用户的输入并检查它是否为整数。如果输入合法,我们会计算菱形的半径(因为菱形是对称的),然后打印出上半部分和下半部分的星号(*)。如果输入的行数不能构成菱形,我们会输出错误消息。
阅读全文