JAVA PROGRAM Lab #2. Chapter 7. PC #11. Array Operations (Page 491) Write a program that accepts a file name from command line, then initializes an array with test data using that text file as an input. The file should contain floating point numbers (use double data type). The program should also have the following methods: * getTotal. This method should accept a one-dimensional array as its argument and return the total of the values in the array. * getAverage. This method should accept a one-dimensional array as its argument and return the average of the values in the array. * getHighest. This method should accept a one-dimensional array as its argument and return the highest value in the array. * getLowest. This method should accept a one-dimensional array as its argument and return the lowest value in the array. double_input1.tx
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayOperations {
// Method to calculate the total of array elements
public static double getTotal(double[] array) {
double total = 0;
for (double value : array) {
total += value;
}
return total;
}
// Method to calculate the average of array elements
public static double getAverage(double[] array) {
return getTotal(array) / array.length;
}
// Method to find the highest value in the array
public static double getHighest(double[] array) {
double highest = array[0];
for (double value : array) {
if (value > highest) {
highest = value;
}
}
return highest;
}
// Method to find the lowest value in the array
public static double getLowest(double[] array) {
double lowest = array[0];
for (double value : array) {
if (value < lowest) {
lowest = value;
}
}
return lowest;
}
// Main function
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Prompt the user for the filename
System.out.print("Enter the filename: ");
String filename = scanner.nextLine();
// Read data from the file and perform calculations
try (Scanner fileReader = new Scanner(new File(filename))) {
ArrayList<Double> arrayList = new ArrayList<>();
// Read file and populate ArrayList
while (fileReader.hasNextDouble()) {
arrayList.add(fileReader.nextDouble());
}
// Convert ArrayList to array
double[] array = new double[arrayList.size()];
for (int i = 0; i < arrayList.size(); i++) {
array[i] = arrayList.get(i);
}
// Display results by calling helper methods
System.out.println("Total: " + getTotal(array));
System.out.println("Average: " + getAverage(array));
System.out.println("Highest: " + getHighest(array));
System.out.println("Lowest: " + getLowest(array));
} catch (FileNotFoundException e) {
System.out.println("File: " + filename + " does not exist.");
} finally {
// Close the scanner
scanner.close();
}
}
}
Step by step
Solved in 3 steps with 2 images