java程序怎么打菱形

时间:2025-01-17 18:08:35 游戏攻略

在Java中,可以使用多种方法来绘制菱形。以下是几种常见的方法:

方法一:使用循环绘制菱形的上半部分和下半部分

```java

public class Diamond {

public static void main(String[] args) {

int n = 7; // 菱形的宽度和高度

drawDiamond(n);

}

public static void drawDiamond(int n) {

// 绘制上半部分

for (int i = 1; i <= n; i++) {

// 打印空格

for (int j = 1; j <= n - i; j++) {

System.out.print(" ");

}

// 打印星号

for (int j = 1; j <= 2 * i - 1; j++) {

System.out.print("*");

}

System.out.println();

}

// 绘制下半部分

for (int i = n - 1; i >= 1; i--) {

// 打印空格

for (int j = 1; j <= n - i; j++) {

System.out.print(" ");

}

// 打印星号

for (int j = 1; j <= 2 * i - 1; j++) {

System.out.print("*");

}

System.out.println();

}

}

}

```

方法二:使用嵌套循环打印菱形

```java

public class Main {

public static void main(String[] args) {

int n = 5; // 菱形的行数

for (int i = 1; i <= n; i++) {

// 打印空格

for (int j = n; j > i; j--) {

System.out.print(" ");

}

// 打印星号

for (int k = 1; k <= 2 * i - 1; k++) {

System.out.print("*");

}

System.out.println();

}

for (int i = n - 1; i >= 1; i--) {

// 打印空格

for (int j = n; j > i; j--) {

System.out.print(" ");

}

// 打印星号

for (int k = 1; k <= 2 * i - 1; k++) {

System.out.print("*");

}

System.out.println();

}

}

}

```

方法三:使用Scanner输入菱形大小并绘制

```java

import java.util.Scanner;

public class Diamond {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("请输入菱形的行数:");

int rows = scanner.nextInt();

int maxWidth = 2 * rows - 1;

// 打印菱形的上半部分

for (int i = 1; i <= rows; i++) {

for (int j = 1; 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 - 1; i >= 1; i--) {

for (int j = 1; j <= rows - i; j++) {

System.out.print(" ");

}

for (int k = 1; k <= 2 * i - 1; k++) {

System.out.print("*");

}

System.out.println();

}

}

}

```

方法四:使用JavaFX库绘制菱形