Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write a complete Java program called WeightedAvgWithExceptions (without the quotation marks), according to the following guidelines and using try-catch-finally blocks in your methods that read

Write a complete Java program called "WeightedAvgWithExceptions" (without the quotation marks), according to the following guidelines and using try-catch-finally blocks in your methods that read from a file and write to a file, as in the examples in the lesson notes for reading and writing text files.

Input File

The input file - which you need to create and prompt the user for the name of - should be called 'data.txt', and it should be created according to the instructions below.

The input file should contain, in order: the weight (greater than 0 and less than or equal to 1), the number, n, of lowest numbers to drop, and the numbers to be averaged after dropping the lowest n values.

For example, you might have these values in your input file:

0.5 3 10 70 90 80 20

Creating the Input file

To create the input file, while in NetBeans with your project open, click to highlight the top-level folder of your project in the projects tab at the upper left, the one with the coffee-cup icon to the left of the name of your program. Then starting with the NetBeans File menu, do

File->New File Keep the Project name at the top; keep Filter blank For Categories choose Other (at the bottom of the categories list) For File Types choose Empty File (at the bottom of the files list) Next FileName: data.txt Folder: this should be blank; if it's not, delete whatever's there. Finish 

In the empty file data.txt that you just created, add a single line of data like the one in the example above, where the weight is a double (greater than 0.0 and less than or equal to 1.0) and the other numbers are the number, n, of lowest values to drop, and then the numbers to be averaged after dropping the lowest n values. Then save this data.txt input file.

It's important that your input file is where NetBeans will look to find it. The above instructions should make sure that that happens.

Main Method

For this program your main method need contain only three lines like the following:

ArrayList inputValues = getData();

double weightedAvg = calcWeightedAvg(inputValues);

printResults(inputValues, weightedAvg);

where the printResults method should prompt the user for the name of the output file and print to that output file.

All the exception handling should be done as in the lesson notes in Canvas for reading and writing text files.

Output

Given the sample values above in the data.txt input file, the output file should contain something very much like the following:

The weighted average of the numbers is 42.5, when using the data 10.0, 70.0, 90.0, 80.0, 20.0, where 0.5 is the weight used, and the average is computed after dropping the lowest 3 values. In particular, you should give the weighted average, the data values that the user entered in the order that the user gave them, the weight, and the number of terms that were dropped before computing the weighted average.

Prompting for names of input file and output file

Make sure you prompt the user for the name of the input file (even though we know what it is). You can use a prompt like: "Enter "data.txt" (no quotes) for the name of the input file: "

Also prompt the user for the name of the output file. If you use code like that in Horstmann's Total.java program to create the output file, the output file should be located at the same place as the input file. Check the NetBeans Files tab (not the File menu), which is next to the Projects tab in the upper left to see both the input and output files.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions

Question

How can you defend against SQL injection attacks?

Answered: 1 week ago