Need help with your Discussion

Get a timely done, PLAGIARISM-FREE paper
from our highly-qualified writers!

glass
pen
clip
papers
heaphones

Application of Programming in Java- Modify

Application of Programming in Java- Modify

Application of Programming in Java- Modify

Question Description

Please make some change with my code(see attachment) to follow these question below.

**MOST PART OF THESE PROJECT ARE SAME, JUST DO SOME MODIFY**

Task 1, Value: 8 marks

In this task, you are required to provide the definition of a class called Student, which represents a typical (but limited) university student.Each student has a name (which consists of a string of characters – for example: Janet May or Neil Kirby), a unique student identification (ID) number (consisting of a string of exactly seven numerical digits – for example: 1167895 or 8880123) and a course they are enrolled in (consisting of exactly three uppercase alphabetic characters – for example: MIT or BIT).

You are also required to define a class called TestStudent, which will be used to perform a number of test used to among other things, verify the correctness of the Student class.

In order to maintain the uniqueness of the student ID, your program will need to check that any new IDs supplied by the user is not the same as any of the existing student IDs. The program should also ensure that the student IDs and course names conform to the format specified above.

Following area list of specifications of the Student class:

  • Two fields name,id and course representing the student name, student ID and course respectively as described above
  • Get and set methods for each field (getName(), getId(),getCourse(),setName(), setId(), setCourse())
  • A toString() method that returns a string description of a given student object
  • An isValidId() method which accepts a string representing a possible new student ID as an argument and returns a boolean value (true or false) indicating whether the new ID satisfies the structural requirements of the student ID or not
  • A idExists() which accepts a string argument representing a possible new student ID and returns a boolean value indicating whether the new ID is already being used by another student or not
  • An isValidCourse() method which accepts a string representing a possible new course as an argument and returns a boolean value (true or false) indicating whether the new course name satisfies the structural requirements of the course or not

Your TestStudent class should be able to perform the following functions:

  • Create an ArrayList object of Student objects called studentList, using the student data stored in a text file named students.txt (you should create this file such that it stores the student name, ID and course of several students initially – one line per student)
  • Allow the user to add as many new Student objects as the user requests to the ArrayList ensuring that each student has a unique student ID
  • When the user has finished adding new students to the list, the program will override the students.txt file such that it includes the data relating to the new students as well as the original ones
  • Ability to display a full list of students as well as just the existing student IDs when necessary

Ensure that the program is appropriately documented throughout and thoroughly tested to demonstrate its correct operation.

Task 2, Value: 12 marks

In this task, you are required to provide complete class definitions and then create instances of various classes and use methods to perform various tests.

(a) Define an abstract class called Staff with the following fields and methods:

  • Fields: name, id, status representing the name, staff id and the status (full, part or casual) of a staff member in an organisation. Encapsulation should be used to protect these fields against intentional or accidental, direct modification
  • Constructors: a no-args/default constructor, and an overloaded constructor to initialise the fields to appropriate values when the instances of the class are created
  • Methods: a toString() method to print a string representation of the objects, get and set methods to provide access to each of the three fields

(b) Define a subclass of the Staff class called FullTimeStaff with the following additional field and methods:

  • Field: researchArea,a string variable representing the research are of the staff member. Again, encapsulation should be used to protect this field against intentional or accidental, direct modification
  • Constructors: a no-args/default constructor, and an overloaded constructor to initialise the fields to appropriate values when the instances of the class are created
  • Methods: a toString() method to print a string representation of the objects, additional get and set methods as required to provide access to the field

(c) Define a subclass of the Staff class called PartTimeStaff with the following additional field and methods:

  • Field: timeFraction representing the time fraction of a part-time staff member. This would be a number between 0.1 and 1.0. Again, encapsulation should be used to protect this field against intentional or accidental, direct modification
  • Constructors: a no-args/default constructor, and an overloaded constructor to initialise the fields to appropriate values when the instances of the class are created
  • Methods: a toString() method to print a string representation of the objects, additional get and set methods as required to provide access to the field

(d) Define another subclass of the Staff class called CasualStaff with the following additional field and methods:

  • Field: hours,an integer variable representing the number of hours that the casual staff member works at the organisation. Again, encapsulation should be used to protect this field against intentional or accidental, direct modification
  • Constructors: a no-args/default constructor, and an overloaded constructor to initialise the fields to appropriate values when the instances of the class are created
  • Methods: a toString() method to print a string representation of the objects, additional get and set methods as required to provide access to the field

(e) Finally, define another class called TestStaff with a main() method to perform necessary testing for the classes defined in the previous sections. In the main method, write the code to: (1) create an ArrayList object to store references to Staff objects; (2) open a text file named staff.txt (available on interact resources), which contains data relating to staff members, create FullTimeStaff, PartTimeStaff and CasualStaff objects based on the first field in each row in the file (“full”, “part”, or “casual”); (3) add these objects to the ArrayList; and (4) test various methods of the objects using loop(s) and methods as necessary, including the code to:

  • Repeatedly display a menu of five options (1, 2, 3, 4 and 5) such that
  • Option 1 will display details of only full-time staff
  • Option 2 will display details of only part-time staff
  • Option 3 will display details of only casual staff
  • Option 4 will display details of all staff
  • Option 5 terminate the program

Ensure that the program is appropriately documented throughout and thoroughly tested to demonstrate its correct operation.

Have a similar assignment? "Place an order for your assignment and have exceptional work written by our team of experts, guaranteeing you A results."

Order Solution Now

Our Service Charter


1. Professional & Expert Writers: Eminence Papers only hires the best. Our writers are specially selected and recruited, after which they undergo further training to perfect their skills for specialization purposes. Moreover, our writers are holders of masters and Ph.D. degrees. They have impressive academic records, besides being native English speakers.

2. Top Quality Papers: Our customers are always guaranteed of papers that exceed their expectations. All our writers have +5 years of experience. This implies that all papers are written by individuals who are experts in their fields. In addition, the quality team reviews all the papers before sending them to the customers.

3. Plagiarism-Free Papers: All papers provided by Eminence Papers are written from scratch. Appropriate referencing and citation of key information are followed. Plagiarism checkers are used by the Quality assurance team and our editors just to double-check that there are no instances of plagiarism.

4. Timely Delivery: Time wasted is equivalent to a failed dedication and commitment. Eminence Papers are known for the timely delivery of any pending customer orders. Customers are well informed of the progress of their papers to ensure they keep track of what the writer is providing before the final draft is sent for grading.

5. Affordable Prices: Our prices are fairly structured to fit in all groups. Any customer willing to place their assignments with us can do so at very affordable prices. In addition, our customers enjoy regular discounts and bonuses.

6. 24/7 Customer Support: At Eminence Papers, we have put in place a team of experts who answer all customer inquiries promptly. The best part is the ever-availability of the team. Customers can make inquiries anytime.

We Can Write It for You! Enjoy 20% OFF on This Order. Use Code SAVE20

Stuck with your Assignment?

Enjoy 20% OFF Today
Use code SAVE20