【问题标题】:My code is not printing star pattern (+) sign instead it is printing blank space, can you explain why?我的代码没有打印星形(+)符号而是打印空格,你能解释一下为什么吗?
【发布时间】:2021-11-27 06:14:16
【问题描述】:

在这段代码中,我正在尝试打印加号(+)符号模式,但我不知道我的 if else 条件有什么问题,你能解释一下我的 if else 条件有什么问题并提供解决方案吗?

让 n=5;

让 pattn="";

for(i=0;i

for(j=0;j

如果(i==n/2||j==n/2){

pattn+="*";

}否则

pattn+="";

}pattn+=" \n";

}console.log(pattn);

【问题讨论】:

  • 不要发布代码截图。它很难阅读,也无法复制到开发环境中运行。见How to Ask
  • 您的语法不正确。那里缺少一些花括号。

标签: javascript design-patterns


【解决方案1】:
let n = 5;
let pattn = "";

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

let n = 5;
let pattn = "";

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

【讨论】:

  • 谢谢它的工作,但我有另一个问题,如果我们添加 n 个数字而不是 5,那么你将如何做呢?
  • 您能否解释一下我的代码有什么问题,为什么它没有产生相同的输出?
  • 将第 6 行更改为 if (i == Math.floor(n / 2) || j == Math.floor(n / 2))
  • 因为你除以 2 得到一个浮点数,比如 2.5,你必须舍入它
  • 哦,谢谢伙计,现在我明白了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-09
  • 1970-01-01
  • 2020-10-27
  • 1970-01-01
相关资源
最近更新 更多