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

Java星号图案打印TEL呈纵向输出 如何调整为横向排列

问题根源

现有代码采用「逐字符块打印」的逻辑:先完整输出T字符的所有行,空数行后再完整输出E字符的所有行,再空数行输出L字符的所有行,三个字符自然纵向堆叠,无法实现横向并排效果。
另外原代码还存在无效逻辑:判断条件i == h永远不会触发(外层循环i的取值范围是0到h-1),多余的空行打印也会加剧字符错位。

实现思路

要实现横向并排显示,需要把循环逻辑从「按字符块遍历」改成按行遍历:

  • 外层只需要一轮高度循环,每一轮对应图案的一整行
  • 每一行中,依次输出T的当前行内容、固定间隔空格、E的当前行内容、固定间隔空格、L的当前行内容
  • 整行内容拼接完成后再换行,遍历完所有高度行即可得到横向排列的TEL图案
修正后完整代码
public class test {
    public static void main(String[] args) {
        int h = 5;
        // 定义两个字符之间的间隔宽度
        int charGap = 2;

        // 按行遍历,逐行拼接三个字符的内容
        for (int i = 0; i < h; i++) {
            // 输出当前行的T字符
            for (int j = 0; j < h; j++) {
                if (i == 0 || j == h / 2) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }

            // 输出T和E的间隔
            for (int k = 0; k < charGap; k++) {
                System.out.print(" ");
            }

            // 输出当前行的E字符
            for (int j = 0; j < h; j++) {
                if (i == 0 || i == h - 1 || i == h / 2 || j == 0) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }

            // 输出E和L的间隔
            for (int k = 0; k < charGap; k++) {
                System.out.print(" ");
            }

            // 输出当前行的L字符
            for (int j = 0; j < h; j++) {
                if (j == 0 || i == h - 1) {
                    System.out.print("*");
                } else {
                    System.out.print(" ");
                }
            }

            // 整行输出完毕,换行
            System.out.println();
        }
    }
}
运行输出效果
*****  *****  *    
  *    *      *    
  *    ****   *    
  *    *      *    
  *    *****  *****

如果需要调整字符大小、间隔宽度,只需要修改h和charGap的取值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:54:24