用户输入输出乘法表

时间:2019-02-09 23:44:33

标签: javascript for-loop multiplication

我需要制作一个乘法表来显示用户从1-9输入的内容,因此,如果他们输入3,它将显示从1-9来的3乘法表。它必须对每个数字执行此操作。

我有一个for循环仅可处理1个数字,但我不知道该怎么做,对此我还是很陌生,所以我不确定如何使它适合我。

prompt ("please enter a number");
var a = 1;
var b;

for (var i = 1; i <= 9; i++){
    b= a*i
    document.write("" + a + "*" + i + "=", + b +"<br>");
}

如果我输入1-9之间的任何数字,则必须显示该数字1-9之间的乘法。必须对输入的每个数字有效。

3 个答案:

答案 0 :(得分:2)

变量a应该具有从提示符处接收的值,而不是1

var a = prompt ("please enter a number");
var b;

for (var i = 1; i <= 9; i++){
    b= a*i
    document.write("" + a + "*" + i + "=", + b +"<br>");
}

答案 1 :(得分:0)

您需要为提示创建变量并将其添加到文档中。写入

var question = prompt("please enter a number");
var a = 1;
var b;

for (var i = 1; i <= 9; i++) {
  b = a * i
  document.write(question + " " + "* " + i + " " + " = ", + b + "<br>");
}

答案 2 :(得分:0)

您必须将prompt函数的返回值分配给a变量。 另外,您必须将此字符串值转换为数字,以确保计算正确。

在以下代码段中:

  • 我使用prompt函数将对Number的调用包装起来,以获得一个数字(MDN doc about Number)。
  • 我将var关键字更改为letconst,因为它比声明全局变量的var更受欢迎。
  • 我用模板字符串替换了字符串连接,在构建复杂的字符串(MDN doc on template literals)时更容易阅读。

const a = Number(prompt('please enter a number'));

for (let i = 1; i <= 9; i++) {
    const b = a * i;
    document.write(`${a} * ${i} = ${b}<br>`);
}