用Javascript打印

时间:2017-01-20 20:07:17

标签: javascript

我有一个看似基本的问题,但我似乎无法弄明白。

编写一个程序,该程序获取一个名为“input”的变量的值(在程序顶部声明为任意整数)并输出一个由星号()组成的正方形,与数字(输入)一样大。例如,如果使用值5声明“input”,则程序将显示由25个星号()组成的正方形 - 即; 5个星号()高,5个星号()长。

我到目前为止提出的代码如下。我真的不明白如何连续打印字符串。如果我做了star = i然后它变成数字并打印数字。那我怎么做才能让他们联系起来呢?我也无法弄清楚我应该把新线放在哪里。 console.log(星号“\ n”);给了我一个错误。请帮助:)

  var input = 2;
    var star = "*";
    var i = 0;

    do { 
    console.log(star);
    i++;

    } while (i < input);

5 个答案:

答案 0 :(得分:1)

您可以使用String.repeat()(仅限ES6)和\r\n添加新行

&#13;
&#13;
var input = 5,
    star = "*",
    str = [],
    i = 0;

do {
   str.push( Array(input).join(star) ); // use array(length).join
   i++;
} while (i < input);

str = str.join("\r\n"); // add breaklines
console.log(str);
&#13;
&#13;
&#13;

答案 1 :(得分:1)

console.log将向控制台输出一行,其中包含您将其作为参数传递的任何内容。您正在尝试打印一行 n 星号 n 次。

您应该采取的第一步是构建星号字符串。您可以使用+运算符将字符串连接到另一个字符串:

var input = 2;
var star = "*";
var line = "";

for(var i = 0; i < input; i++) {
    line = line + star;
}

构建line之后,您可以n次打印它:

for(var i = 0; i < input; i++) {
    console.log(line);
}

答案 2 :(得分:0)

您可以使用repeat - 函数多次打印字符。

&#13;
&#13;
 var input = 2;
    var star = "*";
    var i = 0;

    while(i++ < input){
      console.log(star.repeat(input));
    }
&#13;
&#13;
&#13;

这会在*行中重复input个字符input次。

答案 3 :(得分:0)

提示:你可以创建一个空数组,然后创建一个以你想要的星号数结尾的循环,之后你将把所有数组成员连接在一起。 (在这里编写代码对你来说没什么用,因为你提到它是一个功课)。

答案 4 :(得分:0)

你可以通过两种方式解决这个问题。如果我们调用你的输入值n,那么我们可以记录n个字符串,每个字符串由n个星组成,或者我们可以记录一个包含(n * n)个星号的字符串,每个星号后都有换行符。

以下是可以执行此任务的函数示例。

function stars (input) {
  var output = ''
  for (var i = 0; i < input; i++) {
    for (var j = 0; j < input; j++) {
      output += '*'
    }
    output += '\n'
  }
  return output
}