# Average calculation problem of the program

advertisements

I've just started learning Java, and I'm pretty confused at this point. I'm trying to make a program that will average out any amount of numbers that the user would input, but I can't figure out how to allow the user to input as many numbers as they want. Right now, the code just lets them do 1 number before it averages.

Notes: There's a good chance I'm writing this totally wrong, I'm doing this to see what I know so far

I use Eclipse

I'm learning from www.thenewboston.org

Here's the code:

``````import java.util.Scanner;

class MainClass {
public static void main(String[] args){
System.out.println("Enter Grades Now");
Scanner input = new Scanner(System.in);
double input2 = input.nextDouble();

System.out.println(average(input2));
}

public static double average(double...numbers){
double total=0;
for(double x:numbers)
total+=x;

return total/numbers.length;
}

}
```
```

You can use a `LinkedList<Double>` and a loop to let the user input an artificial amount of numbers.

``````Scanner input = new Scanner(System.in);
List<Double> allDoubles = new LinkedList<Double>();

do {
System.out.print("Next grade: ");
allDoubles.add(input.nextDouble());
} while (input.hasNextDouble());

System.out.println(average(allDoubles.toArray(new Double)));
```
```

Enter as many values as you like and then enter some text like `"done"`.