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));     } }

Programming with Microsoft Visual Basic 2017
8th Edition
ISBN:9781337102124
Author:Diane Zak
Publisher:Diane Zak
Chapter7: String Manipulation
Section: Chapter Questions
Problem 18E
icon
Related questions
Question
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 <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));
    }
}

 
 
 
 
Test Case 1
Command Line arguments: double_input1.txt
Total: -1,813.080 \n
Average: -18.131 \n
Highest: 985.007 n
Lowest: -989.128 \n
Test Case 2
Command Line arguments: double_input2.txt
Total: -331, 368.178 \n
Average: -165.684 \n
Highest: 9,994.439 \n
Lowest: -9,988.269 \n
Test Case 3
Command Line arguments: double_input3.txt
File: double_input3.txt does not exist.\n
Test Case 4
Usage: java ArrayOperations <filename>\n
Transcribed Image Text:Test Case 1 Command Line arguments: double_input1.txt Total: -1,813.080 \n Average: -18.131 \n Highest: 985.007 n Lowest: -989.128 \n Test Case 2 Command Line arguments: double_input2.txt Total: -331, 368.178 \n Average: -165.684 \n Highest: 9,994.439 \n Lowest: -9,988.269 \n Test Case 3 Command Line arguments: double_input3.txt File: double_input3.txt does not exist.\n Test Case 4 Usage: java ArrayOperations <filename>\n
-283.760
-456.167
19.815.
-322.301
344.949
-850.533
-672.360
-188.767
646.462
-118.775
808.613
-746.865
-370.432
219.607
-166.298
-508.636
-989.128
-205.020
-928.165
-180.699
300.753
316.036
709.371
-886.860
-585.388
-554.302
-394.801
-970.233
905.941
787.854
double_input1 (5).txt ✓
5009.080090
4828.594369
411.259878
-9785.626617
-4609.476471
2719.918173
7138.901501
-3538.371855
2574.392712
-3297.930547
8398.465389
-3195.768547
-6157.859188
-370.717511
-294.048307
-8513.062201
-5510.607699
-1041.978813
9293.313108
-5017.205842
361.703495
-6699.960064
-9232.366356
1447.159382
-8435.569795
-2030.469644
5002.575706
-5820.459615
7003.075309
3755.916188
double_input2 (3).txt
Transcribed Image Text:-283.760 -456.167 19.815. -322.301 344.949 -850.533 -672.360 -188.767 646.462 -118.775 808.613 -746.865 -370.432 219.607 -166.298 -508.636 -989.128 -205.020 -928.165 -180.699 300.753 316.036 709.371 -886.860 -585.388 -554.302 -394.801 -970.233 905.941 787.854 double_input1 (5).txt ✓ 5009.080090 4828.594369 411.259878 -9785.626617 -4609.476471 2719.918173 7138.901501 -3538.371855 2574.392712 -3297.930547 8398.465389 -3195.768547 -6157.859188 -370.717511 -294.048307 -8513.062201 -5510.607699 -1041.978813 9293.313108 -5017.205842 361.703495 -6699.960064 -9232.366356 1447.159382 -8435.569795 -2030.469644 5002.575706 -5820.459615 7003.075309 3755.916188 double_input2 (3).txt
Expert Solution
steps

Step by step

Solved in 4 steps with 6 images

Blurred answer
Knowledge Booster
Array
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Programming with Microsoft Visual Basic 2017
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:
9781337102124
Author:
Diane Zak
Publisher:
Cengage Learning
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT