You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现实心与空心星号正方形的并排显示?

实现实心与空心星号正方形并排显示的解决方法

嘿,我懂你现在的困扰——本来想让实心和空心的星号正方形左右挨在一起展示,结果输出变成了上下叠着的,肯定有点头疼对吧?其实根本不用把两个嵌套循环互相嵌套,换个简单的思路就能搞定:每一行同时打印实心正方形的一行和空心正方形的一行,这样就能实现你想要的左右并排效果啦!

举个Java代码的例子给你参考:

public class SquareSideBySide {
    public static void main(String[] args) {
        int squareSize = 10; // 这里设置正方形的边长,你可以按需调整

        // 外层循环控制行数,每一次循环对应两个正方形的同一行
        for (int row = 1; row <= squareSize; row++) {
            // 先打印实心正方形的当前行
            for (int col = 1; col <= squareSize; col++) {
                System.out.print("*");
            }
            // 用两个空格分隔两个正方形,让排版更清晰
            System.out.print("  ");
            // 再打印空心正方形的当前行
            for (int col = 1; col <= squareSize; col++) {
                // 只有在边界位置(首行、末行、首列、末列)才打印星号
                if (row == 1 || row == squareSize || col == 1 || col == squareSize) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }
            // 每一行的两个正方形都打印完后,换行进入下一行
            System.out.println();
        }
    }
}

思路解释

之前你得到上下排列的结果,应该是先把实心正方形的所有行都打印完毕,再去打印空心正方形的行。现在咱们把顺序改了:外层循环每跑一次,就同时生成两个正方形的对应行——先输出实心的一行,再输出空心的一行,中间用空格隔开,最后换行。这样每一行都会包含两个正方形的同一部分,自然就实现左右并排的效果了。

把squareSize改成你需要的数值(比如你例子里的10),运行后就能得到你期望的左右排列样式啦!

内容的提问来源于stack exchange,提问作者Anonimotipy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:33:18