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<AdultStudent>{
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.
Expert Answer
import java.time.LocalDate; import java.util.Arrays; //Driver class public class Driver { //main method public static void main(String args[]){ AdultStudent[] as=new AdultStudent[3]; //array of adultstudents as[0]=new AdultStudent(); System.out.println(Arrays.toString(as)); //printgin addultstudents array using arrays to strig method //sorting array using comparabel //sorting array using lambda expression class AdultStudent extends Person implements Comparable<AdultStudent>{ private final int AGE_MAJ = 18; public AdultStudent() { public AdultStudent(String n, int y, String m) { // Write this method public int compareTo(AdultStudent other) { public String toString() { class Person { protected int bYear; public Person() { public Person(String initName, int birthYear) { public int age() { public String toString() { |
![]() |