in Eclipse or the command line and I enter:
1
3
5.5
It says the average is 3.1666666666666665 when it should be 3.1666666666666667. I checked and am positive it is dividing the sum by 3. What do I do? Here is my source:
Expand|Select|Wrap|Line Numbers
- /* Title: Number Averaging Program
- * Author: Kid Programmer
- * Language: Java
- * Integrated Development Enviroment: Eclipse
- * Description: This program will prompt a user to enter numbers. When the user enters a double or string the program will calculate
- * the average and print it out. The program will then end.
- */
- import java.util.Scanner; //import a scanner
- public class NumberAverager { //create a class
- public static void main(String[] args) throws InterruptedException { //start the main function
- double divideby = 0, number = 0, sum = 0, average = 0; //declare variables
- Scanner scan = new Scanner(System.in); //create a scanner named "scan"
- //explain the program
- System.out.println(" Loading finished.");
- System.out.println("This program will average numbers.");
- System.out.println("If you type with a number the program will not work. If you type text before typing a number the program will not work.");
- System.out.println("To stop averaging numbers enter anything that is not a whole number.");
- System.out.println("Press enter after each number has been entered.");
- System.out.println("If the number is big, it will cancel the program.");
- System.out.println("Please enter the numbers: ");
- //create a loop to execute as long as the user enters numbers
- while ( scan.hasNextDouble() ) {
- number = scan.nextDouble(); //prompt the user for numbers
- sum = sum + number; //add up the numbers
- divideby ++; //increase the amount to divide the numbers by
- //if the user enters text
- if ( scan.hasNextDouble() == false) {
- average = sum / divideby; //calculate the average
- //print the average
- System.out.print("The total average of the numbers is ");
- System.out.print(average);
- System.out.println(".");
- }
- }
- }
- }