JAVA Only   Design, implement and test a Java class that processes a series of triangles.  The triangle specification will be identical to that in Programming Assignment #2 (part A).  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 (see Programming Assignment #2A).  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       You should be able to reuse much of your Programming Assignment #2A code for this project.  However, strongly recommend that you rewrite your code and put this functionality in separate method(s).  Likewise, any residual problems from #2A should be fixed in this version.  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

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

JAVA Only

 

Design, implement and test a Java class that processes a series of triangles.  The triangle specification will be identical to that in Programming Assignment #2 (part A).  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 (see Programming Assignment #2A).  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

 

 

 

You should be able to reuse much of your Programming Assignment #2A code for this project.  However, strongly recommend that you rewrite your code and put this functionality in separate method(s).  Likewise, any residual problems from #2A should be fixed in this version.  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%

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 8 images

Blurred answer
Knowledge Booster
ADT and Class
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
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education