At Westonci.ca, we connect you with the answers you need, thanks to our active and informed community. Get quick and reliable solutions to your questions from a community of seasoned experts on our user-friendly platform. Connect with a community of professionals ready to help you find accurate solutions to your questions quickly and efficiently.

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 on a given line, it must be handled. Afterwards, the program will continue on the next line without processing the triangle. An example of such an error is a non-integer appearing in the first three values of a given line.

• 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

Sagot :

public class GeometricObject {

   private String color = " white ";

   private boolean filled;

   private java.util.Date dateCreated;

   public GeometricObject() {

       dateCreated = new java.util.Date();

   }

   public GeometricObject(String color, boolean filled) {

       dateCreated = new java.util.Date();

       this.color = color;

       this.filled = filled;  

   }

   public String getColor() {

       return color;

   }

   public void setColor(String color) {

       this.color = color;

   }

   public boolean isFilled() {

       return filled;

   }

   public void setFilled(boolean filled) {

       this.filled = filled;

   }

   public java.util.Date getDateCreated() {

       return dateCreated;

   }

   public String toString() {

       return "Created on " + dateCreated + "\n color: " + color + " and filled ";                

   }  

}