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

2022-01-20 00:00:00 for-loop conditional javascript

刚开始我的大学课程,在 javascript 方面有点挣扎.我被要求使用任何字符显示一个正方形,但是,解决方案必须结合 for 循环和 if 语句.

Just started my uni course, struggling a little with javascript. I have been asked to display a square using any character, however, the solution must combine for loops and if statements.

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

This is what I have so far and I feel pretty close but I just can't get the second line to display. I know this can be done via two for loops, (one for iteration of the variable and another for spaces). But this is not how I have been asked to solve this problem.

这是我的代码:

var size = 3;
let i;


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

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

For context, this is all taking place int he professors homemade learning environment.

推荐答案

您可以使用嵌套的 for 循环,并在每行填充后换行.

You could use nested for loops and take a line break after each filled line.

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

var size = 5,
    i, j;

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

<pre id="out"></pre>

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

Single loop with a check if i is unequal to zero and if the remainder is zero, then add a line break.

使用:

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

  • === identity/strict equality operator checks the type and the value, for example if both are numbers and if the value is the same,

!== 非恒等式/严格不等式 操作符和上面一样,但是它检查它的对立面,

!== non-identity/strict inequality operator it is like above, but it checks the oposite of it,

% 余数 运算符,返回一个数的余数,除法返回一个整数.

% remainder operator, which returns a rest of a number which division returns an integer number.

&& 逻辑 AND 运算符,检查两边并返回最后一个值,如果两者都是 truthy (像任何数组、对象、非零数字、非空字符串、true)或第一个,如果它是 falsy(如 undefinednull0''(空字符串),false,truthy的反义词).

&& logical AND operator, which check both sides and returns the last value if both a truthy (like any array, object, number not zero, a not empty string, true), or the first, if it is falsy (like undefined, null, 0, '' (empty string), false, the oposite of truthy).

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

var size = 5,
    i;

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

<pre id="out"></pre>

相关文章