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

JavaScript打印加号(+)星型图案输出空白,if else条件问题求助

JavaScript加号星型图案代码问题修复

错误原因

你代码中的核心问题是判断条件取值类型不匹配:

  • 你给n赋值为5(奇数),n/2的计算结果为2.5
  • 两层循环的变量i、j取值都是0~4的整数,永远不可能等于2.5
  • 因此if判断条件始终为false,只会拼接空格,最终输出全空白内容

修复方案

将判断条件中的n/2替换为Math.floor(n/2),对计算结果向下取整得到整数类型的中间索引即可,修改后完整代码如下:

let n=5;
let pattn="";
for(i=0;i<n;i++){
  for(j=0;j<n;j++){
    if(i==Math.floor(n/2)||j==Math.floor(n/2)){
      pattn+="*";
    }else{
      pattn+=" ";
    }
  }
  pattn+="\n";
}
console.log(pattn);

运行效果(n=5时)

*  
  *  
*****
  *  
  *  

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:06:03