Javascript 在For循环上乘以整数
从这里开始学习JavaScript 我正在研究阿德里安·诺依曼的问题,我的问题是关于初级练习中的第6题 编写一个程序,要求用户输入一个数字,Javascript 在For循环上乘以整数,javascript,types,type-conversion,iteration,multiplication,Javascript,Types,Type Conversion,Iteration,Multiplication,从这里开始学习JavaScript 我正在研究阿德里安·诺依曼的问题,我的问题是关于初级练习中的第6题 编写一个程序,要求用户输入一个数字,n,并允许用户在计算1、n的和和与乘积之间进行选择 输入乘法值时,答案总是0。显然,我认为迭代中包含了0,因此我设置了一个空数组myArray,并使用myArray.push(I)将所有数字推送到数组中0从未作为值包含在数组中 除了一些明显的表单验证考虑之外,还有谁能告诉我我缺少了什么?为什么我的答案总是0 注意:代码的sum部分似乎工作得非常出色 请注意,
n
,并允许用户在计算1、n
的和和与乘积之间进行选择
输入乘法值时,答案总是0
。显然,我认为迭代中包含了0
,因此我设置了一个空数组myArray
,并使用myArray.push(I)将所有数字推送到数组中代码><代码>0
从未作为值包含在数组中
除了一些明显的表单验证考虑之外,还有谁能告诉我我缺少了什么?为什么我的答案总是0
注意:代码的sum
部分似乎工作得非常出色
请注意,我是JavaScript的初学者,因此如果您想发表评论,请让我知道您为什么以这种方式更改代码,而不是简单地向我反馈代码。这帮了大忙,谢谢。在乘法之前,您没有将
mySum
设置为1
0*i
=0。好吧,您将mySum
初始化为0
,因此在循环的每次迭代中,您将i
乘以零,并将结果(再次,零)保存回mySum
。对于乘法,你必须从一开始。是小事情,是吗?这是非常令人谦卑的经历。
// var myArray = []; // for testing
var mySum = 0;
var userNum = prompt("What is your number? ");
var userChoice = prompt("Would you like to add up (+) or multiply (*) all the numbers from 1 to your number? Please enter (+) or (*): ");
if (userChoice == "+") {
for (var i = userNum; i > 0; i--) {
mySum += +i;
}
console.log("Your answer is " + mySum);
} else if (userChoice == "*") {
for (var i = userNum; i > 0; i--) {
mySum *= +i;
// myArray.push(i); // for testing
}
console.log("Your answer is " + mySum);
// console.log(myArray); // for testing
}