In: Computer Science
First, launch NetBeans and close any previous projects that may be open (at the top menu go to File ==> Close All Projects). Then create a new Java application called "AverageWithMethods" (without the quotation marks) according to the following guidelines. The program prompts the user for five to ten numbers, all on one line, and separated by spaces. Then the user calculates the average of those numbers, and displays the numbers and their average to the user. The program uses methods to: Get the numbers entered by the user Calculate the average of the numbers entered by the user Print the results with the whole number, a decimal, and two decimal positions The first method should take no arguments and return a String of numbers separated by spaces. The second method should take a String as its only argument and return a double (the average). The third method should take a String and a double as arguments but have no return value. For example, if the user input is... 20 40 60 80 100 ...the program should give as output... The average of the numbers 20 40 60 80 100 is 60.00. Thoughts Refer to Horstmann chapter 2 for details on formatting output values.
Instructor gave this part of code:
public static double getAverage(String numbers){
int numSpaces = 0;
double total = 0, counter = 1;
for (int i = 0; i < numbers.length(); i++) {
if(numbers.charAt(i)==32)
numSpaces++;
}
while(numSpaces > 0){
int space = numbers.indexOf(" ");
String numString = numbers.substring(0,space);
double num = Double.parseDouble(numString);
total += num;
numbers = numbers.substring(space+1);
counter ++;
numSpaces--;
}
total += Double.parseDouble(numbers);
return total/counter;
}
//AverageWithMethods.java
import java.util.Scanner;
public class AverageWithMethods{
// Method 1
public static String getNumber(){
Scanner input = new Scanner(System.in);
System.out.print("Enter five to ten numbers separated by whitespace : ");
return input.nextLine();
}
//method 2
public static double getAverage(String numbers){
int numSpaces = 0;
double total = 0, counter = 1;
for (int i = 0; i < numbers.length(); i++) {
if(numbers.charAt(i)==32)
numSpaces++;
}
while(numSpaces > 0){
int space = numbers.indexOf(" ");
String numString = numbers.substring(0,space);
double num = Double.parseDouble(numString);
total += num;
numbers = numbers.substring(space+1);
counter ++;
numSpaces--;
}
total += Double.parseDouble(numbers);
return total/counter;
}
//method 3
public static void printAverage(String str, double avg){
System.out.println("The average of the numbers "+str+" is "+avg);
}
//Main Method
public static void main(String[] args) {
String numbers = getNumber();
double average = getAverage(numbers);
printAverage(numbers, average);
}
}
Save the file as AverageWithMethods.java
execute these commands.
javac AverageWithMethods.java
java AverageWithMethods