Answered! For this assignment you will do two things: add to the AdultStudent class and write a driver program for…

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();
as[1]=new AdultStudent(“Joon”,1996,”digital”);
as[2]=new AdultStudent(“Djengo”,1999,” information systems”);
System.out.printf(“The AdultStudent array:”);

System.out.println(Arrays.toString(as)); //printgin addultstudents array using arrays to strig method

//sorting array using comparabel
Arrays.sort(as);
System.out.println();
System.out.printf(“The AdultStudent array, after sorting (using compareTo):”);
System.out.println(Arrays.toString(as));
System.out.println();

//sorting array using lambda expression
Arrays.sort(as,
(AdultStudent a, AdultStudent b) -> b.getMajor().compareTo(a.getMajor()));
System.out.printf(“The AdultStudent array, after sorting (using the lambda):”);
System.out.println(Arrays.toString(as));
}
}

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 major;
}

public int compareTo(AdultStudent other) {
return age() – other.age();
}

public String toString() {
return super.toString() + “, major: ” + major;
}
}

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);
}
}

Answered! For this assignment you will do two things: add to the AdultStudent class and write a driver program for... 1
Still stressed from student homework?
Get quality assistance from academic writers!