仅使用 for 循环和条件语句的 Javascript 打印正方形

新手上路,请多包涵

刚开始我的大学课程,在 javascript 上遇到了一些困难。我被要求使用任何字符显示一个正方形,但是,解决方案必须结合 for 循环和 if 语句。

这是我到目前为止所拥有的,我感觉非常接近,但我无法显示第二行。我知道这可以通过两个 for 循环来完成(一个用于变量的迭代,另一个用于空格)。但这不是我被要求解决这个问题的方式。

这是我的代码:

 var size = 3;
let i;

for(i = 0; i < size; i++) {
print ("*");
if (size === i){
println ("");
}
}

就上下文而言,这一切都发生在教授自制的学习环境中。

原文由 Simon Dean 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 533
2 个回答

您可以使用嵌套的 for 循环并在每个填充行之后换行。

 function print(s) { document.getElementById('out').innerHTML += s; }
function println(s) { document.getElementById('out').innerHTML += s + '\n'; }

var size = 5,
    i, j;

for (i = 0; i < size; i++) {
    for (j = 0; j < size; j++) {
        print("*");
    }
    println("");
}
 <pre id="out"></pre>

单循环检查 i 是否不等于零,如果余数为零,则添加一个换行符。

使用:

  • === 身份/严格相等 运算符检查类型和值,例如,如果两者都是数字并且值相同,

  • !== 非恒等式/严格不等式 运算符与上面类似,但它检查它的反义词,

  • % 余数 运算符,它返回一个数字的其余部分,除法返回一个整数。

  • && 逻辑 AND 运算符,检查双方并返回最后一个值,如果两者均为 (如任何数组、对象、非零数字、非空字符串, true ),或the first, if it is falsy (like undefined , null , 0 , '' (empty string), false ,真实的反义词)。

 function print(s) { document.getElementById('out').innerHTML += s; }
function println(s) { document.getElementById('out').innerHTML += s + '\n'; }

var size = 5,
    i;

for (i = 0; i < size * size; i++) {
    if (i !== 0 && i % size === 0) {
        println("");
    }
    print("*");
}
 <pre id="out"></pre>

原文由 Nina Scholz 发布,翻译遵循 CC BY-SA 3.0 许可协议

我正在使用 console.log 来“打印”正方形:

     var dimension = 10;
    var edge = '*';
    var inside = ' ';
    var printLine;

    for (var i = 1; i <= dimension; i++) {
        if (i === 1 || i === dimension) {
            printline = Array(dimension + 1).join(edge);
        } else {
            printline = edge + Array(dimension - 1).join(inside) + edge;
        }
        console.log(printline);
    }

请注意,在下面的示例中,长度为 11 的数组只能得到 10 个“a”,因为 Array.join 将参数放在数组元素之间:

 Array(11).join('a'); // create string with 10 as "aaaaaaaaaa"

原文由 RickL 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题