2015-04-22 3 views
0

Я немного новичок в программировании, и у меня есть этот вопрос в викторине. Мне нужно написать программу JavaScript для чтения 10 положительных значений от пользователя, а затем суммировать только кратные 3 и 5.для цикла/while для чтения пользовательского ввода

Я даже не смог закончить код. Помогите?

var x = new Array(); 
var total; 
x.push(parseFloat(window.prompt("enter a value",""),)); 
for (x.length<=10; i=0; i<10; i++) { 
    total += x[i] 
} 
else{ 
    document.write(total); 
} 
+0

Я не вижу никакой логики, касающейся «кратных 3 и 5». Так в чем же проблема? – user2864740

+0

Рассмотрите возможность удаления массива и используйте: 'var num = parseFloat (window.prompt (" введите значение "," "))'. Затем выполните что-то сразу с 'num' (на основе некоторого условия) и другой переменной' sum'. Цикл определяет * сколько * раз, когда пользователь запрашивает (window.prompt - такой жестокий механизм), но не влияет на то, как используется вход *. – user2864740

+1

Вам нужно поместить приглашение внутрь цикла и добавить if statement 'num% 3 == 0 || num% 5 == 0' также 'for' loop не имеет' else' только 'if'. – jcubic

ответ

1

Вы должны поместить в командную строку функции в цикл и добавить проверку, если число умножить на 3 или 5.

var total; 
for (var i=0; i<10; i++) { 
    var num = parseFloat(window.prompt("enter a value","")); 
    if (num % 3 == 0 || num % 5 == 0) { 
     total += num; 
    } 
}  
document.write(total); 

UPDATE:

var total; 
var i = 0; 
while (i<10) { 
    var num = parseFloat(window.prompt("enter a value","")); 
    if (num >= 0 && (num % 3 == 0 || num % 5 == 0)) { 
     total += num; 
     i++; 
    } 
}  
document.write(total); 
+0

Мне нужно, чтобы игнорировать значения <0 в аргументе и по-прежнему поддерживать количество введенных значений равным 10, где я могу включить это? – Nouas

+0

@Nouas немного отличается от 'while' loop вместо' for' – jcubic

0

спасибо, я было установлено total = 0, так что после суммы оно выдает значение вместо NaN

var total = 0; 
var i = 0; 
while (i < 10) { 
    var num = parseFloat(window.prompt("enter a value", "")); 
    if (num >= 0 && (num % 3 == 0 || num % 5 == 0)) { 
     total += num; 
     i++; 
    } 
} 
document.write(total); 
Смежные вопросы