[英]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.