2 回答
TA贡献1828条经验 获得超13个赞
循环中的两个错误:
isEven(a);
if(true){
Even = Even + a
};
if(false){
Odd = Odd + a
};
第一个是你正在调用而不是使用结果。在你字面上只是使用和,所以你总是在第一个,永远不会在第二个。isEvenifif(true)if(false)
第二个错误是,每次你添加输入的数字而不是1,如果你需要偶数/奇数的数量,这就是你想要的。a
因此,保持你的(相当不寻常的)结构,你会有:
var test = isEven(a);
if(test === true){
Even = Even + 1;
}
if(test === false){
Odd = Odd + 1;
}
以更传统的方式,我建议:
if(isEven(a)){
Even = Even + 1;
} else {
Odd = Odd + 1;
}
TA贡献1833条经验 获得超4个赞
尝试使用这个。
您遇到了一些问题:1.假设您键入 1,提示将关闭,而第一次迭代将继续。打开一个新提示,因此永远不会计算 1。
let a = parseInt(prompt("Enter a number:"));
while (a != 0 ) {
a = parseInt(prompt("Enter a number:"));
您选中 IsEven(a),但从不将该值分配给您的条件。
l
et Even = 0;
let Odd = 0;
let a = parseInt(prompt("Enter a number:"));
while (a != 0 ) {
var isEvenResult = isEven(a)
if(isEvenResult){
Even += parseInt(a);
}
else{
Odd += parseInt(a);
}
a = parseInt(prompt("Enter a number:"));
}`enter code here`
console.log(Even +','+ Odd);
function isEven(value){
if (value%2 == 0)
return true;
else
return false;
}
添加回答
举报