java编写一个用if语句判断是否构成菱形并循环打印(行数要大于1
时间: 2023-09-15 19:20:56 浏览: 94
Java打印菱形的算法 练习for和if语句
5星 · 资源好评率100%
以下是Java代码,可以实现用if语句判断是否构成菱形并循环打印:
```java
import java.util.Scanner;
public class DiamondPattern {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入菱形行数:");
int n = scanner.nextInt();
if (n <= 1 || n % 2 == 0) {
System.out.println("输入不合法,行数必须大于1并且为奇数。");
return;
}
int mid = n / 2 + 1;
for (int i = 1; i <= n; i++) {
if (i <= mid) {
for (int j = 1; j <= mid - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
} else {
for (int j = 1; j <= i - mid; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * (n - i) + 1; j++) {
System.out.print("*");
}
}
System.out.println();
}
}
}
```
代码中,先通过Scanner类获取用户输入的菱形行数n,然后使用if语句判断输入是否合法:行数必须大于1并且为奇数。如果不合法,就输出错误信息并结束程序。如果输入合法,就计算出菱形的中心行数mid,然后使用两个for循环分别打印上半部分和下半部分的菱形。在打印菱形时,使用了一些数学计算来确定每行需要打印的空格和星号的数量。最后,通过换行符将每行的输出隔开。
阅读全文