Question
For this assignment you will do two things: add to the AdultStudent class and write a driver program for the new AdultStudent class . First
For this assignment you will do two things: add to the AdultStudent class and write a driver program for the new AdultStudent class.
First you should modify the AdultStudent class by writing an accessor for the major of the AdultStudent object: public String getMajor()
Next you need to write a driver program for the AdultStudent class. It will use the Arrays class for printing and sorting. In particular, it must:
Have a static constant for the number of AdultStudent objects in the array called MAX.
Create an array of MAX AdultStudent objects and fill them with appropriate test values using calls to the default or parameterized constructor of the AdultStudent class.
Print the filled AdultStudent array using the toString() method of the Arrays class. Do NOT use a loop.
Sort the AdultStudent objects using a call to Arays.sort() that uses the Comparable interface.
Print the newly sorted AdultStudent array using the toString() method of the Arrays class. Do NOT use a loop.
Sort the AdultStudents using a call to Arrays.sort() with a lambda expression. The lambda expression will sort based on the major of the AdultStudent. This lambda expression must use the major accessor that you wrote in the first step of the assignment. Strings should be compared using the compareTo() method of the String class.
Print the newly sorted AdultStudent array using the toString() method of the Arrays class. Do NOT use a loop.
Below is the sample output that my completed solution produced. You are not required to use my particular AdultStudent objects in your solution, but I wanted to give you a concrete example to consider.
The AdultStudent array: [Name: default, birth year: 1999, major: computer science, Name: Joon, birth year: 1996, major: digital cinema, Name: Djengo, birth year: 1999, major: information systems] The AdultStudent array, after sorting (using compareTo): [Name: default, birth year: 1999, major: computer science, Name: Djengo, birth year: 1999, major: information systems, Name: Joon, birth year: 1996, major: digital cinema] The AdultStudent array, after sorting (using the lambda): [Name: default, birth year: 1999, major: computer science, Name: Joon, birth year: 1996, major: digital cinema, Name: Djengo, birth year: 1999, major: information systems]
Submit two Java files (AdultStudent.java and AdultStudentDriver.java)
AdultStudent.java
package people;
import java.time.LocalDate;
public class AdultStudent extends Person implements Comparable
private String major; private final int AGE_MAJ = 18; public AdultStudent() { LocalDate today = LocalDate.now(); name = "default"; bYear = today.getYear() - AGE_MAJ; major = "computer science"; } public AdultStudent(String n, int y, String m) { LocalDate today = LocalDate.now(); int year = today.getYear(); if (y <= year - AGE_MAJ) bYear = y; else bYear = year - AGE_MAJ; name = n; major = m; } // Write this method public String getMajor() { // A stub -- remove when you write the method return ""; } public int compareTo(AdultStudent other) { return age() - other.age(); } public String toString() { return super.toString() + ", major: " + major; } }
Person.java
package people;
import java.time.LocalDate;
public class Person { protected int bYear; protected String name; public Person() { LocalDate today = LocalDate.now(); name = "default"; bYear = today.getYear(); } public Person(String initName, int birthYear) { name = initName; bYear = birthYear; } public int age() { LocalDate today = LocalDate.now(); return today.getYear() - bYear; } public String toString() { return String.format("Name: %s, birth year: %d", name, bYear); } }
For this assignment you will do two things: add to the AdultStudent class and write a driver program for the new AdultStudent class.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started