user3685235
user3685235

Reputation: 11

Using prompt, choose number of numbers, add that number of numbers to an array, then display total

I'm trying to load a prompt that asks how many numbers the user wants to enter, then a prompt will popup the amount of times they entered, and they will be able to enter a number each time that goes into an array and then one last alert box showing the sum.

How can I build this array and then get the total sum?

To get the first numberOfNumbers I used this:

function hello()
{
var numberOfNumbers=prompt("How many numbers would you like to add?")
alert(y)
}

var sum = [];
for (var i = 1; i <= numberOfNumbers; i++) {
   sum.push(i);
}

Upvotes: 0

Views: 618

Answers (3)

Is this what you want to do?

function hello() { 
    var numberOfNumbers = prompt("How many numbers would you like to add?"); 
    return parseint(numberOfNumbers, 10);
}

function sumNumbers() {
    var numbers = []; 
    var number = 0; 
    var numberOfNumbers = hello(); 
    for (var i = 1; i <= numberOfNumbers; i++) { 
        number = parseInt(prompt("Enter a number to add"), 10); 
        numbers.push(number); 
    } 
    alert(numbers.reduce(function(a, b) { return a + b; })) ; 
}

Upvotes: -1

Stan Shaw
Stan Shaw

Reputation: 3034

var numberOfNumbers = parseInt(prompt("How many numbers would you like to add?"));
alert(numberOfNumbers);

var sum = 0;
for (var i = 1; i <= numberOfNumbers; i++) {
   sum += parseInt(prompt("Enter a number"));
}
alert("The sum of numbers you entered is " + sum);

Upvotes: 0

Matteo Tassinari
Matteo Tassinari

Reputation: 18584

Why would you build the array?

var numberOfNumbers = parseInt(prompt("How many numbers would you like to add?"));

if(isNaN(numberOfNumbers) || numberOfNumbers <= 0) {
  alert("Invalid number!");
}
else {
  var sum = 0, i;
  for (i = 1; i <= numberOfNumbers; i++) {
     sum += i;
  }
  alert(sum);
}

Also, as @JohnRummuel pointed out, in your code numberOfNumbers doesn't exist out of scope of the function block, so the for loop does not "see" it.

Upvotes: 1

Related Questions