刚开始我的大学课程,有点挣扎于javascript。我被要求使用任何字符显示一个正方形,但是,解决方案必须结合用于循环和if语句。
到目前为止,这就是我所拥有的,我感觉非常接近,但我只是无法展示第二条线。我知道这可以通过两个for循环来完成(一个用于变量的迭代,另一个用于空格)。但这并不是要求我解决这个问题的方法。
这是我的代码:
var size = 3;
let i;
for(i = 0; i < size; i++) {
print ("*");
if (size === i){
println ("");
}
}就语境而言,这一切都发生在教授们自制的学习环境中。
发布于 2017-10-13 10:39:50
您可以使用嵌套的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等于零,如果余数为零,则添加一个换行符。
使用:
true),或者是第一个值,如果是虚妄 (如undefined、null、0、'' (空字符串)、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>
发布于 2017-10-13 10:33:21
好的,for循环只迭代3次,打印第一行。如果你想要一个正方形,你得打印9颗星的总数,对吗?因此,我假设,这就是您要采用的方法,您需要迭代的不是size,而是size * size。
发布于 2017-10-13 10:43:51
你想要做一个正方形,它的两边的大小是*的数目吗?
让我们将一个任务分成三个部分:
现在让我们来编写这样的代码,我尽可能地保持代码的简单,这可以用更少的行来完成,但是我认为对于初学者来说,这将更容易理解:
var size = 5;
var i = 0;
// top
for (i = 0; i < size; i++)
console.log("*");
//middle
for (var j = 0; j < size - 2; j++){
console.log("\n"); // go to next row
// middle (2 on sides with size-2 in between)
console.log("*");
for (i = 0; i < size-2; i++)
console.log(" ");
console.log("*\n"); // goes to new row as well
}
// same as top
for (i = 0; i < size; i++)
console.log("*");全正方形甚至更简单:
var size = 5;
var i = 0;
for (var i = 0; i < size; i++){ // iterates rows
for (var j = 0; j < size; j++) // iterates * in row
console.log("*");
console.log("\n") // moves to new row
}为了打印一行,您可以打印相同的符号X次。好的,为了打印X行,我们只需要再用1次(只是这次我们在一个不同的变量上迭代(j是*在一行中,我是许多行)。
生成一行后,我们将使用\n转到下一行。
至于
它必须包含if语句。
把这个放在最后:
if (youCanHandleTheTruth) console.log("It's a terrible practice to tell students their solution MUST CONTAIN CODEWORDS. If you need them to showcase something, write appropriate task that will require them to do so.");https://stackoverflow.com/questions/46727814
复制相似问题