Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Create a CollegeStudent class. This class will contain data fields that hold a s

ID: 3542103 • Letter: C

Question

Create a CollegeStudent class. This class will contain data fields that hold a student's first name, last name, enrollment date, and projected graduation date, using the GregorianCalendar class for each date. Provide get() and set() methods for each field. Also provide a constructor that requires first and last names and enrollment date, and sets the project graduation date to exactly four years after enrolment. Save the class as CollegeStudent.java.

import java.sql.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;

    public class CollegeStudent {
        String firstName;
        String lastName;
        GregorianCalendar enrollDate;
        GregorianCalendar projectedGraduationDate;
        
    // Get & Set Methods for name, enroll and projected graduation date
    public String getFirstName() {
        return firstName; }
        
    public void setFirstName(String firstName) {
        this.firstName = firstName; }
        
    public String getLastName() {
        return lastName; }
        
    public void setLastName(String lastName) {
        this.lastName = lastName; }
        
    public GregorianCalendar getEnrollDate() {
        return enrollDate; }
        
    public void setEnrollDate(GregorianCalendar enrollDate) {
        this.enrollDate = enrollDate; }
        
    public GregorianCalendar getProjectedGraduationDate() {
        return projectedGraduationDate; }
        
    public void setProjectedGraduationDate(GregorianCalendar projectedGraduationDate, int year) {
        this.projectedGraduationDate = projectedGraduationDate; projectedGraduationDate.set(GregorianCalendar.YEAR, year + 4); }
    
    
    
    public static void main(String[] args) {
        CollegeStudent cs = new CollegeStudent();
        
        // Scanner utilities for first name input
        System.out.println("Enter the First Name: ");        
        Scanner input1 = new Scanner(System.in);
        cs.setFirstName(input1.nextLine());        
        
        // Scanner utilities for last name input
        System.out.println("Enter the Last Name: ");
        Scanner input2 = new Scanner(System.in);
        cs.setLastName(input2.nextLine());
        
        // Scanner utilities for date input
        System.out.println("Enter the Date: (Example: 18): ");
        Scanner input3 = new Scanner(System.in);
        int date = input3.nextInt();
        
        // Scanner utilities for month input
        System.out.println("Enter the Month: (Example: 09): ");
        Scanner input4 = new Scanner(System.in);
        int month = input4.nextInt();
        
        // Scanner utilities for year input
        System.out.println("Enter the year: ");
        Scanner input5 = new Scanner(System.in);
        int year = input5.nextInt();
        
        //Gregorian
        GregorianCalendar enroll = new GregorianCalendar(year, month, date);
        GregorianCalendar projectDate = new GregorianCalendar(year, month, date);
        cs.setEnrollDate(enroll);
        cs.setProjectedGraduationDate(enroll, year);
        
        // Output for First, last name and enroll date
        System.out.println("First Name: " + cs.getFirstName());
        System.out.println("Last Name: " + cs.getLastName());
        System.out.println("Enroll Date: " + cs.getEnrollDate().get(GregorianCalendar.MONTH) + "/" +
        cs.getEnrollDate().get(GregorianCalendar.DATE) + "/" + (cs.getEnrollDate().get(GregorianCalendar.YEAR) - 4));
        
        //Output for Graduation Date
        System.out.println("Projected Graduation Date: " + cs.getProjectedGraduationDate().get(GregorianCalendar.MONTH) + "/" +
        cs.getProjectedGraduationDate().get(GregorianCalendar.DATE) + "/" + cs.getProjectedGraduationDate().
        get(GregorianCalendar.YEAR));
        }         

}

DON'T CODE THE FIRST PART IT IS ABOVE. I JUST NEED HELP WITH THE SECOND PART.


I NEED HELP WITH THIS PART ------> Create an interactive application that prompts the user for data for two CollegeStudent objects. Prompt the user for first name, last name, enrollment month, enrollment day, and enrollment year for each CollegeStudent, and then instantiate the objects. Display all the values, including the projected graduation dates.

Explanation / Answer


import java.util.GregorianCalendar;
import java.util.Scanner;

public class CollegeStudent {

    String firstName;
    String lastName;
    GregorianCalendar enrollDate;
    GregorianCalendar projectedGraduationDate;
    public Scanner scanner = new Scanner(System.in);

// Get & Set Methods for name, enroll and projected graduation date
    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public GregorianCalendar getEnrollDate() {
        return enrollDate;
    }

    public void setEnrollDate(GregorianCalendar enrollDate) {
        this.enrollDate = enrollDate;
    }
   
    public CollegeStudent(){
       
    }

    public CollegeStudent(String firstName, String lastName, GregorianCalendar enrollDate, GregorianCalendar projectedGraduationDate) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.enrollDate = enrollDate;
        this.projectedGraduationDate = projectedGraduationDate;
    }

    public GregorianCalendar getProjectedGraduationDate() {
        return projectedGraduationDate;
    }

    public void setProjectedGraduationDate(GregorianCalendar projectedGraduationDate, int year) {
        this.projectedGraduationDate = projectedGraduationDate;
        projectedGraduationDate.set(GregorianCalendar.YEAR, year + 4);
    }


    
    public CollegeStudent getInput(){
       
        String fName, lName;
        GregorianCalendar enroldate;
        GregorianCalendar projectedgraduationDate;

        System.out.println("Enter the First Name: ");
        fName = scanner.next();
       
        System.out.println("Enter the Last Name: ");
        lName = scanner.next();
       
        System.out.println("Enter the Date: (Example: 18): ");
        int date = scanner.nextInt();
       
         System.out.println("Enter the Month: (Example: 09): ");
         int month = scanner.nextInt();
      
         System.out.println("Enter the year: ");
         int year = scanner.nextInt();
        
         System.out.println("");
        
        
        enroldate = new GregorianCalendar(year, month, date);
        projectedgraduationDate = new GregorianCalendar(year+4, month, date);
                     
        CollegeStudent cs = new CollegeStudent(fName,lName,enroldate,projectedgraduationDate);
       
        return cs;               
    }
   
    public void display(CollegeStudent cs){
        System.out.println("First Name: " + cs.getFirstName());
        System.out.println("Last Name: " + cs.getLastName());
        System.out.println("Enroll Date: " + cs.getEnrollDate().get(GregorianCalendar.MONTH) + "/"
                + cs.getEnrollDate().get(GregorianCalendar.DATE) + "/" + (cs.getEnrollDate().get(GregorianCalendar.YEAR)));
        System.out.println("Projected Graduation Date: " + cs.getProjectedGraduationDate().get(GregorianCalendar.MONTH) + "/"
                + cs.getProjectedGraduationDate().get(GregorianCalendar.DATE) + "/" + cs.getProjectedGraduationDate().
                get(GregorianCalendar.YEAR));
        System.out.println("");
    }

    public static void main(String[] args) {
       
        CollegeStudent cstd = new CollegeStudent();
       
        CollegeStudent student1 = cstd.getInput();
        CollegeStudent student2 = cstd.getInput();
       
        cstd.display(student1);
        System.out.println(" ");
        cstd.display(student2);       
    }


}