Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Use java to create following project 1. The input file name and the output file name are passed in as the first and second arguments

Use java to create following project

image text in transcribedimage text in transcribedimage text in transcribedimage text in transcribedimage text in transcribed

1. The input file name and the output file name are passed in as the first and second arguments at command line, respectively. For example, assume your package name is FuAssign5 and your main class name is FuAssignment5, and your executable files are in C:\Users\2734848\eclipse-workspace CIS 265 Assignments\bin. The following command line will read from a local file students.txt and write to a local file students_reversed.txt": C:\Users\2734848\eclipse-workspace\CIS 265 Assignments\bin > java FuAssign5. FuAssignment5 students.txt students_reversed.txt 2. You need to specify the command line arguments if you use jGrasp or Eclipes. I will show you on jGrasp on Wed. 3. The parameter String[] args in the main method contains the command line arguments, where args[0] contains the first argument. For example, in the previous command, args[0] contains students.txt, and args[1] contains students_reversed.txt. 4. If the program is run with incorrect number of arguments, your program must print an error message and exit. The error message must show correct format to run your program, e.g., Usage: FuAssign5.FuAssignment5 input_file output_file where FuAssign5 is the package and FuAssignment5 is the main class. 5. Each line in the input file represents a student. There are 5 fields in each line: name, id, gpa, graduate or "undergraduate, is Transfer (for undergraduate) or college (for graduate). The fields are separated by comma, ,. For example, the input file students.txt file may contain: Michelle Chang, 200224,3.3,graduate, Cleveland State University Tayer Smoke, 249843,2.4, undergraduate, false David Jones, 265334,2.7, undergraduate, true Abby Wasch, 294830,3.6, graduate, West Virginia 6. The program will read the lines and create undergraduate students or graduate students accordingly. The students are added to an ArrayList. 7. The program then writes the list of students in reserve order to the output file. 8. Given the previous input file students.txt, the output file, students_reserved.txt, will be: Abby Wasch, 294830,3.6, graduate, West Virginia David Jones, 265334,2.7, undergraduate, true Tayer Smoke, 249843,2.4, undergraduate, false Michelle Chang, 200224,3.3,graduate, Cleveland State University However, the Student class must be declared as an abstract class now. It must also have an overloaded printStudent(PrintWriter output) method. The method will write student's information to the output file using the PrintWriter output. Accordingly, the UnderGradStudent and GradStudent classes must also have an overloaded printStudent(PrintWriter output) method. They must use the superclass' method to write student's information. The UnderGradStudent's printStudent(PrintWriter output) writes undergraduate and isTransfer after that. The GradStudent's printStudent(PrintWriter output) writes graduate and college after that. The UML class diagram should be as follows. Student -name: String -id: int -gpa: float +Student() +Student(name,id,gpa) +printStudent():void +getID():int tprintStudent(Print Writer output):void UndegradStudent GradStudent -boolean: is Transfer -college:String +UndergradStudent(name,id,gpa, is Transfer) +GradStudent(name,id,gpa,college) +printStudent():void +printStudent():void +printStudent(Print Writer output):void tprintStudent(Print Writer output):void All classes must be in the same package. The package name must start with your last name. For example, if your last name is Fu, your package name must start with Fu such as FuCIS265AS3, FuAS3, etc. Your main class file name must start with your last name. For example, if your last name is Fu, your main class file name must start with Fu such as FuAssignment5.java. Since I/O exceptions are checked exceptions, your program must handle exceptions. You may use the try/catch or throw IOException. To throw exceptions, you declare it as: public static void main(String[] args) throws IOException { You must create an ArrayList of Students in the main class: import java.util.ArrayList; ArrayList students = new ArrayList(); The ArrayList students will store all Student objects created, both undergraduate students and graduate students. . The Student class must have a constructor that takes a name, an id, and a gpa, to create a Student object. The GradStudent class should must a constructor that takes a name, an id, a gpa, and a college to create a GradStudent object. The constructor must call the Student's constructor using super. The Student class must have a public method printStudent(PrintWriter output) that writes the student's name, id, and gpa to the Print Writer output. The UndergradStudent class must override the printStudent(Print Writer output) method. It must write the student's name, id, gpa, and transfer status to the Print Writer output. It should call the Student's printStudent(PrintWriter output) to write student's name, id, and gpa. The gradStudent class must override the printStudent(PrintWriter output) method. It must write the student's name, id, gpa, and college to the Print Writer output. It should call the Student's printStudent(PrintWriter output) to write student's name, id, and gpa. Your program must use dynamic binding to invoke the correction printStudent(PrintWriter output) method. Your program must close both input and output files after they are done. You can assume that input file has the correct format. You will earn bonus points for handling incorrect input formats. . If a line in the input file has incorrect format, your program will print an error message with the line, skip the line and continue. The following are possible formatting errors your program can handle: 1. (2 points) if the line does not have 5 fields; 2. (2 points) if the id is not an integer; 3. (2 points) if the gpa is not a double; 4. (2 points) if the 4th field is not undergraduate or graduate; 5. (2 points) if the 5th field for an undergraduate student is not true or false. For example, for the following lines in the input file, Sam Jackson, 215.22,3.9, graduate, Ohio State University Sam Jackson, 215443, 22af,graduate, Ohio State University Sam Jackson, 215443,3.9, graduate Sam Jackson, 215443,3.9, graduate, Ohio State University, cleavland Sam Jackson, 215443,3.9, nondegree, Ohio State University Lady Gaga, 230940,3.1, undergraduate, unknown You program will print : Invalid input: Sam Jackson, 215.22,3.9, graduate, Ohio State University Invalid input: Sam Jackson, 215443, 22af, graduate, Ohio State University Invalid input: Sam Jackson, 215443,3.9,graduate Invalid input: Sam Jackson, 215443,3.9, graduate, Ohio State University, cleavland Invalid input: Sam Jackson, 215443,3.9, nondegree, Ohio State University Invalid input: Lady Gaga, 230940,3.1, undergraduate, unknown The incorrect lines will be ignored and not written to the output file. The correctly formatted lines should be handled as usual. 1. The input file name and the output file name are passed in as the first and second arguments at command line, respectively. For example, assume your package name is FuAssign5 and your main class name is FuAssignment5, and your executable files are in C:\Users\2734848\eclipse-workspace CIS 265 Assignments\bin. The following command line will read from a local file students.txt and write to a local file students_reversed.txt": C:\Users\2734848\eclipse-workspace\CIS 265 Assignments\bin > java FuAssign5. FuAssignment5 students.txt students_reversed.txt 2. You need to specify the command line arguments if you use jGrasp or Eclipes. I will show you on jGrasp on Wed. 3. The parameter String[] args in the main method contains the command line arguments, where args[0] contains the first argument. For example, in the previous command, args[0] contains students.txt, and args[1] contains students_reversed.txt. 4. If the program is run with incorrect number of arguments, your program must print an error message and exit. The error message must show correct format to run your program, e.g., Usage: FuAssign5.FuAssignment5 input_file output_file where FuAssign5 is the package and FuAssignment5 is the main class. 5. Each line in the input file represents a student. There are 5 fields in each line: name, id, gpa, graduate or "undergraduate, is Transfer (for undergraduate) or college (for graduate). The fields are separated by comma, ,. For example, the input file students.txt file may contain: Michelle Chang, 200224,3.3,graduate, Cleveland State University Tayer Smoke, 249843,2.4, undergraduate, false David Jones, 265334,2.7, undergraduate, true Abby Wasch, 294830,3.6, graduate, West Virginia 6. The program will read the lines and create undergraduate students or graduate students accordingly. The students are added to an ArrayList. 7. The program then writes the list of students in reserve order to the output file. 8. Given the previous input file students.txt, the output file, students_reserved.txt, will be: Abby Wasch, 294830,3.6, graduate, West Virginia David Jones, 265334,2.7, undergraduate, true Tayer Smoke, 249843,2.4, undergraduate, false Michelle Chang, 200224,3.3,graduate, Cleveland State University However, the Student class must be declared as an abstract class now. It must also have an overloaded printStudent(PrintWriter output) method. The method will write student's information to the output file using the PrintWriter output. Accordingly, the UnderGradStudent and GradStudent classes must also have an overloaded printStudent(PrintWriter output) method. They must use the superclass' method to write student's information. The UnderGradStudent's printStudent(PrintWriter output) writes undergraduate and isTransfer after that. The GradStudent's printStudent(PrintWriter output) writes graduate and college after that. The UML class diagram should be as follows. Student -name: String -id: int -gpa: float +Student() +Student(name,id,gpa) +printStudent():void +getID():int tprintStudent(Print Writer output):void UndegradStudent GradStudent -boolean: is Transfer -college:String +UndergradStudent(name,id,gpa, is Transfer) +GradStudent(name,id,gpa,college) +printStudent():void +printStudent():void +printStudent(Print Writer output):void tprintStudent(Print Writer output):void All classes must be in the same package. The package name must start with your last name. For example, if your last name is Fu, your package name must start with Fu such as FuCIS265AS3, FuAS3, etc. Your main class file name must start with your last name. For example, if your last name is Fu, your main class file name must start with Fu such as FuAssignment5.java. Since I/O exceptions are checked exceptions, your program must handle exceptions. You may use the try/catch or throw IOException. To throw exceptions, you declare it as: public static void main(String[] args) throws IOException { You must create an ArrayList of Students in the main class: import java.util.ArrayList; ArrayList students = new ArrayList(); The ArrayList students will store all Student objects created, both undergraduate students and graduate students. . The Student class must have a constructor that takes a name, an id, and a gpa, to create a Student object. The GradStudent class should must a constructor that takes a name, an id, a gpa, and a college to create a GradStudent object. The constructor must call the Student's constructor using super. The Student class must have a public method printStudent(PrintWriter output) that writes the student's name, id, and gpa to the Print Writer output. The UndergradStudent class must override the printStudent(Print Writer output) method. It must write the student's name, id, gpa, and transfer status to the Print Writer output. It should call the Student's printStudent(PrintWriter output) to write student's name, id, and gpa. The gradStudent class must override the printStudent(PrintWriter output) method. It must write the student's name, id, gpa, and college to the Print Writer output. It should call the Student's printStudent(PrintWriter output) to write student's name, id, and gpa. Your program must use dynamic binding to invoke the correction printStudent(PrintWriter output) method. Your program must close both input and output files after they are done. You can assume that input file has the correct format. You will earn bonus points for handling incorrect input formats. . If a line in the input file has incorrect format, your program will print an error message with the line, skip the line and continue. The following are possible formatting errors your program can handle: 1. (2 points) if the line does not have 5 fields; 2. (2 points) if the id is not an integer; 3. (2 points) if the gpa is not a double; 4. (2 points) if the 4th field is not undergraduate or graduate; 5. (2 points) if the 5th field for an undergraduate student is not true or false. For example, for the following lines in the input file, Sam Jackson, 215.22,3.9, graduate, Ohio State University Sam Jackson, 215443, 22af,graduate, Ohio State University Sam Jackson, 215443,3.9, graduate Sam Jackson, 215443,3.9, graduate, Ohio State University, cleavland Sam Jackson, 215443,3.9, nondegree, Ohio State University Lady Gaga, 230940,3.1, undergraduate, unknown You program will print : Invalid input: Sam Jackson, 215.22,3.9, graduate, Ohio State University Invalid input: Sam Jackson, 215443, 22af, graduate, Ohio State University Invalid input: Sam Jackson, 215443,3.9,graduate Invalid input: Sam Jackson, 215443,3.9, graduate, Ohio State University, cleavland Invalid input: Sam Jackson, 215443,3.9, nondegree, Ohio State University Invalid input: Lady Gaga, 230940,3.1, undergraduate, unknown The incorrect lines will be ignored and not written to the output file. The correctly formatted lines should be handled as usual

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

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2015 Porto Portugal September 7 11 2015 Proceedings Part 3 Lnai 9286

Authors: Albert Bifet ,Michael May ,Bianca Zadrozny ,Ricard Gavalda ,Dino Pedreschi ,Francesco Bonchi ,Jaime Cardoso ,Myra Spiliopoulou

1st Edition

3319234609, 978-3319234601

More Books

Students also viewed these Databases questions