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

如何用Java循环实现字母空心正方形(含反向单词)?

修改方案及原理

修改后的代码

public class Main {
    public static void main(String[] args) {
        String word = "SQUARE";
        int size = word.length();
        String reversedWord = new StringBuilder(word).reverse().toString();

        for (int i = 0; i < size; i++) {
            if (i == 0) {
                // 打印顶部原单词
                System.out.println(word);
            } else if (i == size - 1) {
                // 打印底部反转单词
                System.out.println(reversedWord);
            } else {
                // 中间行:左侧字符 + 填充空格 + 右侧字符
                char sideChar = word.charAt(i);
                int spaceNum = size - 2;
                System.out.print(sideChar);
                // 填充中间空格
                for (int j = 0; j < spaceNum; j++) {
                    System.out.print(" ");
                }
                System.out.println(sideChar);
            }
        }
    }
}

核心原理说明

  1. 动态适配长度:用目标单词"SQUARE"的长度替代硬编码的size=6,代码可以适配任意长度的单词,无需手动调整数值。
  2. 快速反转单词:借助StringBuilder的reverse()方法一键生成原单词的反转字符串,这是Java中高效实现字符串反转的常用方式。
  3. 分场景处理每行:
    • 第一行直接输出原单词,作为正方形的顶部边框;
    • 最后一行输出反转后的单词,作为正方形的底部边框;
    • 中间行固定逻辑:取原单词对应位置的字符作为左右侧边,中间填充size-2个空格(总长度减去左右两个字符的位置),实现空心效果。

内容的提问来源于stack exchange,提问作者Lonely-Seaweed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 13:05:15