
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
if (args.length != 1) {
System.out.println("Usage: java ArrayStatistics <input_file>");
System.exit(1);
}
String fileName = args[0];
double[] data = readDataFromFile(fileName);
if (data != null) {
double total = getTotal(data);
double average = getAverage(data);
double highest = getHighest(data);
double lowest = getLowest(data);
System.out.println("Total: " + total);
System.out.println("Average: " + average);
System.out.println("Highest: " + highest);
System.out.println("Lowest: " + lowest);
}
}
public static double[] readDataFromFile(String fileName) {
try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
String line;
String[] tokens;
int count = 0;
while ((line = br.readLine()) != null) {
count++;
}
double[] data = new double[count];
int index = 0;
br.close();
BufferedReader br1 = new BufferedReader(new FileReader(fileName));
while ((line = br1.readLine()) != null) {
tokens = line.trim().split("\\s+");
if (tokens.length > 0) {
data[index++] = Double.parseDouble(tokens[0]);
}
}
return data;
} catch (IOException e) {
System.err.println("Error reading from file: " + e.getMessage());
return null;
} catch (NumberFormatException e) {
System.err.println("Invalid data format in the file: " + e.getMessage());
return null;
}
}
public static double getTotal(double[] arr) {
double total = 0;
for (double num : arr) {
total += num;
}
return total;
}
public static double getAverage(double[] arr) {
if (arr.length == 0) {
return 0;
}
double total = getTotal(arr);
return total / arr.length;
}
public static double getHighest(double[] arr) {
if (arr.length == 0) {
return Double.NaN;
}
double highest = arr[0];
for (double num : arr) {
if (num > highest) {
highest = num;
}
}
return highest;
}
public static double getLowest(double[] arr) {
if (arr.length == 0) {
return Double.NaN;
}
double lowest = arr[0];
for (double num : arr) {
if (num < lowest) {
lowest = num;
}
}
return lowest;
}
}



Step by stepSolved in 3 steps with 2 images

- Can you please answer the following question. The program is in JavaScript and must use readlineSync. Thank you! Create a file named dedup.js. Write a program that removes duplicates from an array. The program should be able to read an unspecified number of numbers input by the user. The user should enter a negative number when they are done entering scores. The program should remove all duplicates from the array and then iterate over the new array and display it. Create a file named dedeup_2.js. Modify your dedup program and prompt the user to enter a number n. Remove all elements from the array that occur more than n times.arrow_forwardJAVA 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. PLEASE MOFDIFY THIS PROGRAM SO THERE ARE ONLY THREE DIGITS AFTER THE DECIMAL POINT FOR LOWEST, HIGHTEST, AVERAGE AND TOTAL. BECAUSE WHEN I UPLOAD IT TO…arrow_forward3. Complete the program Student Records that simulates a student records system. The program reads a list of student ids, names, and GPAS from a file exam.txt, and stores the information in parallel array lists ids, names, and gpas. Sample input (exam.txt): 132 Woody 4.1 465 Buzz 3.1 443 Rex 2.8 124 Hamm 3.3 337 Jessie 4.2 Your program will display a GPA report. You must include a method named reportByGPA (...) that accepts the required array lists and minimum GPA and displays the list of students that meet the criteria. Sample output: Enter the minimum GPA: 4.0 Students with GPA of 4.0 or higher 132 Woody, GPA: 4.1 337 Jessie, GPA: 4.2 end of program import java.util.ArrayList; import java.util.Scanner; import java.io.File; import java.io.FileNotFoundException; public class Student Records { public static void main(String[] args) throws FileNotFoundException ( Scanner f = new Scanner (new File ("exam.txt")); Scanner kb = new Scanner (System.in); ArrayList ids = new ArrayList ();…arrow_forward
- C++ Programming: How would you write a function that takes a filename and an array of struct time, opens a file, reads each line in the file as the number of days, converts this to a struct time and stores this is in an array? Here is my code so far (p.s. the function i need help with is called void readData): #include<iostream>#include<string>#include<fstream>#include<cstdlib>#include<vector> using namespace std; struct time{// private:int years, months, days;//public: time(){}time(int days){}}; time getYearsMonthsDays(int days){time x;x.years = days/450;days = days%450;x.months = days/30;x.days = days%30;return x;} int getTotalDays(time x){int totalDays;totalDays = x.years*450 + x.months*30 + x.days;return totalDays;} void openofile(string ofilename,ofstream &fout){fout.open(ofilename.c_str());if(!fout){cout << "Error opening output file..." << endl;exit(1);}} void openifile(string ifilename,ifstream…arrow_forwardIn Java please,arrow_forwardProgramming language: Processing from Java Question attached as photo Topic: Use of Patial- Full Arraysarrow_forward
- 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. This part of the program is not correct. There should be no Scanner. You should read the file name from the command line.Scanner scanner = new…arrow_forwardProblem Description - JAVA PROGRAMMING Use a Two-dimensional (3x3) array to solve the following problem: Write an application that inputs nine numbers, each of which is between 1 and 10, inclusive. Display the array after the user inputs each value. Rotate/flip the array by changing places. Make the rows columns and vice versa. You have to move the elements to their new locations. Remember to validate the input and display an error message if the user inputs invalid data. Documentation and the screenshot(s) of the results. Example: 1 2 3 4 5 6 7 8 9 the result will be : 1 4 7 2 5 8 3 6 9arrow_forward1- Write a user-defined function that accepts an array of integers. The function should generate the percentage each value in the array is of the total of all array values. Store the % value in another array. That array should also be declared as a formal parameter of the function. 2- In the main function, create a prompt that asks the user for inputs to the array. Ask the user to enter up to 20 values, and type -1 when done. (-1 is the sentinel value). It marks the end of the array. A user can put in any number of variables up to 20 (20 is the size of the array, it could be partially filled). 3- Display a table like the following example, showing each data value and what percentage each value is of the total of all array values. Do this by invoking the function in part 1.arrow_forward
- A file USPopulation.txt contains the population of the US starting in year 1950 and then each subsequent record has the population for the following year. USPopulation.txtDownload USPopulation.txt Write a program that uses an array with the file that displays these in a menu and then produces the results. This is not an Object Oriented Program but should be a procedural program, calling methods to do the following: 1: Displays the year and the population during that year 2. The average population during that time period (Add up the populations of all records and divide by the number of years). 3. The year with the greatest increase in population - print the year and that population and that amount. To figure this out, compare the difference in population before of say year 1950 and 1951, store that difference somewhere. Compare 1951 with 1952, find that difference. Is that difference greater than the stored difference? If so, move that the the maximum place. 4.…arrow_forwardCODE IN JAVA design a program that grades arithmetic quizzes as follows: (Use the below startup code for Quizzes.java and provide code as indicated by the comments) 1. Ask the user how many questions are in the quiz. 2. Use a for loop to load the array. Ask the user to enter the key (that is, the correct answers). There should be one answer for each question in the quiz, and each answer should be an integer. They can be entered on a single line, e.g., 34, 7, 13, 100, 8 might be the key for a 5-question quiz. You will need to store the key in an array called "key". 3. Ask the user to enter the student's answers for the quiz to be graded. There needs to be one answer for each question. Note that each answer can simply be compared to the key as it is entered. If the answer is correct, add 1 to a correct answer counter. need this in a separate for loop from the loop used to load the array. 4. When the user has entered all of the answers to be graded, print the number correct…arrow_forwardcan you please write this in java.util.scanner form and can you make it so i can copy and past it, thank you.can you please write this in java.util.scanner form and can you make it so i can copy and past it, thank you. 2D Array OperationsWrite a program that creates a two-dimensional array initialized with test data. Use anyprimitive data type that you wish. The program should have the following methods:• getTotal. This method should accept a two-dimensional array as its argument andreturn the total of all the values in the array.• getAverage. This method should accept a two-dimensional array as its argument andreturn the average of all the values in the array.• getRowTotal. This method should accept a two-dimensional array as its first argumentand an integer as its second argument. The second argument should be the subscriptof a row in the array. The method should return the total of the values in thespecified row.• getColumnTotal. This method should accept a two-dimensional array…arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





