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.txt double_input2.txt PLEASE MODIFY THIS CODE, SO WHEN I UPLOAD IT TO HYPERGRADE IT PASSES ALL THE TEST CASES, BECAUSE WHEN I UPLOAD IT TO HYPERGRADE IT DOES NOT PASS THE TEST CASES. IT HAS TO PASS ALL THE TEST CASES. I PROVIDED THE CORRECT OUTPUT AS A SCREENSHOT AS A REFERRENCE. 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) throws IOException { // Check the number of command-line arguments if (args.length != 1) { System.out.println("Usage: java ArrayOperations "); return; } // Check if file exists File file = new File(args[0]); if (!file.exists()) { System.out.println("File: " + args[0] + " does not exist."); return; } // Initialize Scanner to read the file Scanner fileReader = new Scanner(file); ArrayList arrayList = new ArrayList<>(); // Read file and populate ArrayList while (fileReader.hasNextDouble()) { arrayList.add(fileReader.nextDouble()); } // Close the file reader fileReader.close(); // 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)); } }
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) throws IOException {
// Check the number of command-line arguments
if (args.length != 1) {
System.out.println("Usage: java ArrayOperations <filename>");
return;
}
// Check if file exists
File file = new File(args[0]);
if (!file.exists()) {
System.out.println("File: " + args[0] + " does not exist.");
return;
}
// Initialize Scanner to read the file
Scanner fileReader = new Scanner(file);
ArrayList<Double> arrayList = new ArrayList<>();
// Read file and populate ArrayList
while (fileReader.hasNextDouble()) {
arrayList.add(fileReader.nextDouble());
}
// Close the file reader
fileReader.close();
// 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));
}
}
Step by step
Solved in 4 steps with 6 images