java如何用输出正方形

java如何用输出正方形

作者:Elara发布时间:2026-02-13阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何在Java中打印一个边长为N的正方形?

我希望用Java代码打印一个由星号(*)组成的正方形,边长由用户输入,应该怎么做?

A

使用双层循环打印正方形

可以通过嵌套循环实现打印正方形。外层循环控制行数,内层循环控制列数,每一行打印N个星号。示例代码如下:

int n = 5; // 正方形的边长
for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
        System.out.print("*");
    }
    System.out.println();
}

该代码会打印一个5x5的星号正方形。

Q
怎样打印空心正方形而不是实心?

如果我想在Java中打印空心的星号正方形,而不是填充满星号,如何实现?

A

判断边界位置打印星号,其余位置打印空格

为了打印空心正方形,可以在双层循环中判断当前坐标是否在边界,如果是则打印星号,否则打印空格。示例代码:

int n = 5;
for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
        if (i == 0 || i == n - 1 || j == 0 || j == n - 1) {
            System.out.print("*");
        } else {
            System.out.print(" ");
        }
    }
    System.out.println();
}

这样即可打印一个边框为空心的正方形。

Q
如何通过Java控制台输入边长并打印正方形?

我想让用户输入正方形的大小,然后根据输入打印正方形,应该用什么方法接收输入?

A

利用Scanner类接收输入并打印正方形

Java中可以使用Scanner类从控制台接收用户输入。示例代码如下:

import java.util.Scanner;

public class SquarePrinter {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入正方形的边长:");
        int n = scanner.nextInt();

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
        scanner.close();
    }
}

代码接收一个整数作为边长,之后打印对应大小的星号正方形。