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

如何用Java实现指定图案?需用流程控制,排查现有代码问题

Java指定图案打印问题修正

问题说明

需通过流程控制语句(if、for等)实现指定图案,不可直接逐行打印,现有代码输出不符合预期,需排查并修正。

目标图案

|  ||  ||  ||  ||  ||  ||  ||<3|
|  ||  ||  ||  ||  ||  ||<3||##|
|  ||  ||  ||  ||  ||<3||##||<3|
|  ||  ||  ||  ||<3||##||<3||##|
|  ||  ||  ||<3||##||<3||##||<3|
|  ||  ||<3||##||<3||##||<3||##|
|  ||<3||##||<3||##||<3||##||<3|
|<3||##||<3||##||<3||##||<3||##|

现有错误代码

class Main {
  public static void main(String [] args){
    int x;

    for(int y = 1; y < 9; y++){
      for(x = 1; x < 9; x++){
        if(x > 8 - y){
          Stairs(true);
          Stairs(false);
        }

        else{
          System.out.print("|  |");
        }
      }
      System.out.println();
    }
  }

  public static void Stairs(boolean odd){
      System.out.print("|" + ((odd)? "<3" : "##") + "|"); 
  }
}

错误输出

|  ||  ||  ||  ||  ||  ||  ||<3||##| 
|  ||  ||  ||  ||  ||  ||<3||##||<3||##|
|  ||  ||  ||  ||  ||<3||##||<3||##||<3||##|
|  ||  ||  ||  ||<3||##||<3||##||<3||##||<3||##|
|  ||  ||  ||<3||##||<3||##||<3||##||<3||##||<3||##|
|  ||  ||<3||##||<3||##||<3||##||<3||##||<3||##||<3||##|
|  ||<3||##||<3||##||<3||##||<3||##||<3||##||<3||##||<3||##|
|<3||##||<3||##||<3||##||<3||##||<3||##||<3||##||<3||##||<3||##|

问题分析

原代码核心错误:内层循环判断x > 8 - y时,会连续调用两次Stairs方法输出两个图案单元,导致每行总单元数远超目标的8个。正确逻辑应为每行固定输出8个单元,仅对8 - y之后的位置交替替换为<3或##。

修正后的代码

class Main {
  public static void main(String[] args) {
    // 控制行数,共8行
    for (int y = 1; y <= 8; y++) {
      // 控制每行的8个单元
      for (int x = 1; x <= 8; x++) {
        if (x > 8 - y) {
          // 计算当前单元在替换区域的位置,奇数位输出<3,偶数位输出##
          int posInReplace = x - (8 - y);
          System.out.print("|" + (posInReplace % 2 == 1 ? "<3" : "##") + "|");
        } else {
          // 未替换单元输出空白样式
          System.out.print("|  |");
        }
      }
      System.out.println();
    }
  }
}

验证结果

运行修正后的代码,输出与目标图案完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 07:40:41