这是我的代码,用于在给定用户输入的情况下创建表:
const err = "the valid input is a number between 5 and 20, please refresh your page to start again";
const q1 = "Enter a value";
var user = prompt(q1);
var x = parseInt(user, 10);
if (Number.isInteger(x) && x >= 5) {
x = x;
if (x >= 20) {
document.getElementById("rer").innerHTML = err;
}
} else {
document.getElementById("rer").innerHTML = err;
}
function timestable(x) {
var r, s;
document.write("<table id = 'table' border = 1")
for (r = 1; r <= x; r++) {
document.write("<tr>")
for (s = 1; s <= x; s++) {
document.write("<td>" + r * s + "</td>")
}
document.write("</tr>")
}
document.write("</table>")
}
console.log(timestable(x));
这是输入10时的输出:
我希望第一个单元格当前为空白。我还希望右侧的 next cel l从开始1 ,我希望它下面的下一个单元格也从1开始,然后继续模式。
有什么办法可以将此修复程序应用于当前代码?
答案 0 :(得分:1)
您只需要更改两个for
循环以0开头,并更改在单元格中打印的内容:
for (r = 0; r <= x; r++) {
document.write("<tr>")
for (s = 0; s <= x; s++) {
if (s === 0 && r === 0) {
product = '';
} else if (s === 0) {
product = r;
} else if (r === 0) {
product = s;
} else {
product = r * s;
}
document.write("<td>" + product + "</td>")
}
}