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
相关产品推荐
相关产品推荐

