2013-07-23 2 views
-3

Хорошо, поэтому я работаю над назначением лаборатории для школы, в которой мы должны сгенерировать 10 случайных чисел. Код, который я до сих пор это сделал. Но для второй части мы должны отображать сумму этих чисел с помощью document.write или любого другого метода отображения, и я довольно сильно тупик.Сумма массива, javascript

<html> 
<head> 
<title> Lab 5 </title> 
</head> 
<body> 
<script type="text/javascript"> 
var numbers = new Array(10); 
var sum = 0; 
var i; 
</script> 
<script type="text/javascript"> 
for (var i = 0; i <10; i++) { 
document.write("numbers[" + i + "]: " + Math.floor(Math.random() *100)+ "<br/>"); 
} 
</script> 
</body> 
</html> 

Спасибо за помощь!

+0

Вы зацикливаете, но вы не увеличиваете 'sum'. – elclanrs

+2

Вы никогда не добавляете значения в свой массив 'numbers'. Просто указывая на это. –

+3

Этот вопрос не соответствует теме, поскольку он вызван простой ошибкой. Слишком локализован. – madth3

ответ

1

Вам нужно немного отредактировать. Вам необходимо создать переменную random_number и назначить случайную цифру, чтобы вы могли вывести это значение и добавить его в сумму.

Надеюсь, это поможет!

<html> 
<head> 
<title> Lab 5 </title> 
</head> 
<body> 
<script type="text/javascript"> 
var numbers = new Array(10); 
var sum = 0; 
var i; 
</script> 
<script type="text/javascript"> 
var total = 0; 
for (var i = 0; i <10; i++) { 
    var random_number = Math.floor(Math.random() *100); 
    document.write("numbers[" + i + "]: " + random_number + "<br/>"); 
    sum += random_number; 
} 
document.write("Total: " + sum); 
</script> 
</body> 
</html> 
+1

Зачем ему нужна полная переменная, если у него уже есть сумма? – Jordan

+0

@ user2532739 вы абсолютно правы! Пропустил это! – miguelcaires

+0

Удивительный! большое спасибо! – user2612494

1

Создайте текущую переменную числа, а затем установите ее равной вашему случайному числу на каждой итерации цикла for. Тогда все, что вам нужно сделать, это добавить его к вашей сумме и отобразить ее в конце.

0

Вы никогда не храните цифры в массиве и не добавляете их. (Предполагая, что вас попросили сохранить эти цифры), правильный цикл будет следующим:

var numbers = []; 
var sum = 0; 
var randomNumber; 

for(var i = 0;i<10;i++){ 
    randomNumber = Math.floor(Math.random()*100); 
    numbers.push(randomNumber); 
    sum += randomNumber; 
    document.write("numbers[" + i + "] = " + randomNumber + "<br/>"); 
} 
document.write("sum = " + sum); 
Смежные вопросы