[英]How to stop this for-loop?
var number = prompt("Typ some numbers:")
var som = 0
for (var x = 0; x < number.length; x++) {
if (!(number[x] === 0)) {
if ((number[x] % 2) === 1) {
som += (number[x] * number[x])
}
} else {
break;
}
}
alert(som)
我想输入一些随机数(0-9),然后在输入零之前必须说所有奇数的平方的平方。 例如,我键入:5903。5 * 5 + 9 * 9 =106。因此,在键入零之后,必须停止for循环才能继续。 但是现在,如果我键入5903,它说的是115,那么现在它仍然要多加3 * 3。 那么如何在输入零后使其停止? 现在它不起作用,在我输入零后会继续。 有人知道这是什么问题吗? 也许语法?
请更换
if (!(number[x] === 0)) {
至
if (number[x] !== '0') {
因为您正在比较字符串。
工作示例:
var number = prompt("Typ some numbers:"), som = 0; for (var x = 0; x < number.length; x++) { if (number[x] !== '0') { if ((number[x] % 2) === 1) { som += (number[x] * number[x]); } } else { break; } } alert(som);
您正在检查数字是否等于0,但实际上是'0'
您需要将输入解析为整数,或者可以使用双等于
var number = prompt("Typ some numbers:");
var som = 0;
for (var x = 0; x < number.length; x++){
if(number[x] == 0){
break;
}
if ((number[x] % 2) === 1) {
som += (number[x] * number[x]);
}
}
alert(som);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.