subject

Design, implement and test a Java class that processes a series of triangles. As in that assignment, you will read in the three sides of the triangle, check the input for errors (and handle them if found), classify the triangle and compute its area. For this assignment, triangle data will be read from an input file and the program's output will be written to another file. The output file will also include a summary of the data processed. You must use at least one dialog box in this program. The data for each triangle will be on a separate line of the input file, with the input data echoed and the results referred to by the line number (see example).

Some things to note:

All input data lines must be processed.
A new line with triangle data always starts with the '#' marker.
If an error is encountered, it must be handled and the program will continue.
Extraneous data must be discarded. This is data that appears after the first three triangle sides are found, but before a new triangle marker is found.
If the end of file (EOF) is found, a message should be printed out
There shall be no unhandled file related exceptions and an end-of-file exception must be avoided.
On initialization, the program will prompt the user for both an input and an output file. If a non-existent input file is specified, the appropriate exception must be handled, resulting in an error message. For the exception case, re-prompt the user for the correct input file [Extra credit if you implement a JFileChooser type dialog box]. Once the I/O file is specified, the program will read in and process all the entries in the file. The output of the program will be written to the specified output file and echoed to the console.

The program will evaluate each line and determine the validity of the triangle. If valid, the program will output summary line for the triangle calculation. If invalid, the program will output a description of the error found in the entry. Your program must be robust and handle situations where all the triangle inputs are not proper and/or present.

Once all the entries are processed, a summary will be generated providing the following information:

Pathname of the input file
Number of lines processed
Number of valid triangles
Number of invalid triangles
The main features you will be adding are:

Multiple methods
Exception handing
File I/O
Dialog box
Sample file input:

# 3 4 5

# 5 5 5

# 5 5 7 XXX

# -3 10 10 15

# 0 0 0

# 3 4.1 5

# 3 x 4

# 5 4 3 6 YYY ZZZ

# 1 1 10

# 15 16 22

# 3 4

Corresponding file output:

1: 3, 4, 5: The triangle is a right triangle,

The area of this triangle is 6.00

2: 5, 5, 5: The triangle is equilateral,

The area of this triangle is 10.83

3: 5, 5, 7: The triangle is isosceles,

The area of this triangle is 12.50

Item discarded: XXX

Error - At least one of your sides is an invalid integer value

Item discarded: 15

Error - At least one of your sides is an invalid integer value

Error - At least one of your sides is not an integer

Error - At least one of your sides is not an integer

Error - Sides not in ascending order

Item discarded: 6

Item discarded: YYY

Item discarded: ZZZ

Error - Sides do not form a valid triangle

4: 15, 16, 22: This triangle is not distinctive,

The area of this triangle is 120.00

EOF found

File Path: E:\Java\Assign-05\pa5-test-01.txt
Summary Report

Total entries processed = 10

Number of valid entries = 4

Number of invalid entries = 6

Percentage of valid entries = 40.00%

ansver
Answers: 3

Other questions on the subject: Computers and Technology

image
Computers and Technology, 22.06.2019 18:00, Geo777
Suppose an astronomer discovers a large, spherical-shaped body orbiting the sun. the body is composed mostly of rock, and there are no other bodies sharing its orbit. what is the best way to categorize this body? a. planet b. moon c. comet d. asteroid
Answers: 1
image
Computers and Technology, 23.06.2019 04:00, terrell31
Write a method that takes in an array of point2d objects, and then analyzes the dataset to find points that are close together. be sure to review the point2d api. in your method, if the distance between any pair of points is less than 10, display the distance and the (x, y)s of each point. for example, "the distance between (3,5) and (8,9) is 6.40312." the complete api for the point2d adt may be viewed at ~pf/sedgewick-wayne/algs4/documenta tion/point2d. html (links to an external site.)links to an external site.. try to write your program directly from the api - do not review the adt's source code.
Answers: 1
image
Computers and Technology, 23.06.2019 09:30, nsjcbdhcb
Light travels at a speed of 186,000 miles a second. the distance light travels in a year is 5,865,690,000,000 miles/year 5,865,695,000,000 miles/year 58,656,950,000,000 miles/year 6,789,000,0000 miles/year
Answers: 1
image
Computers and Technology, 23.06.2019 11:30, kyraj21
Which excel file extension stores automated steps for repetitive tasks?
Answers: 1
You know the right answer?
Design, implement and test a Java class that processes a series of triangles. As in that assignment,...

Questions in other subjects:

Konu
Biology, 24.02.2021 17:10
Konu
Mathematics, 24.02.2021 17:10