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

Part I Write a class CourseListException that extends Exception with the followi

ID: 3686005 • Letter: P

Question

Part I

Write a class CourseListException that extends Exception with the following constructors:

----A default constructor that gives the error message "Too many courses."

----A constructor that takes a string and uses this for the error message

Part II

Write a class Student with the following attributes:

----Two instance variables (with corresponding getters and setters):

name - a String for the name of the student

courses - an array of Strings with length 5, holding the names of the courses the Student is taking.

----A default constructor that initializes name to be "NoName".

----A constructor that takes a String to set the name of the student

----Two methods:

assignCourses (no input parameters or return values) - This method should ask a user to input courses from the console window until the user enters an empty line, which indicates the end of the array. If the user enters more than 5 courses, throw a CourseListException

writeStudent (no input parameters or return values) - writes the name of the student and the names of the student's courses to the console window

Part III

Write a class PartTimeStudent, a subclass of Student, for students who can take at most 2 courses. The class should include the following:

----A default constructor that invokes the superclass constructor

----A constructor that takes a String to set the name of the Student

----An overridden assignCourses that throws a CourseListException when a user tries to assign more than 2 courses to a PartTimeStudent.

Part IV

Write a class TestStudent that does the following:

1. Creates a student with the name Alice

2. Assigns some courses to Alice

3. Writes the information about Alice to the console window

4. Creates a PartTimeStudent with the name Bob

5. Assigns courses to Bob

6. Writes the information about Bob to the console

Explanation / Answer

PART1:

CourseListException.java

import java.io.Console;


public class CourseListException extends Exception{
  
   /*
   * Default constructor
   */
   public CourseListException(){
       this.printMessage("Too many courses.");
   }
  
   /**
   * Constructor that takes message as param.
   * @param errMsg
   */
   public CourseListException(String errMsg){
       this.printMessage(errMsg);
   }
  
   private void printMessage(String msg){
       System.out.println(msg);
   }
}

PART2:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class Student {
   private String name;
   protected String[] courses;
  
   public Student(){
       this.name = "NoName";
       this.courses = new String[5];
   }
  
   public Student(String n){
       this.name = n;
       this.courses = new String[5];
   }
  
   public void assignCourses() throws CourseListException{
       System.out.println("Enter course:");
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       String s = null;
       try {
           s = br.readLine();
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       int count = 0;
       while(s != null){
           if(count>5){
               throw new CourseListException();
           }
           this.courses[count++]= s;
           System.out.println("Enter course:");
           br = new BufferedReader(new InputStreamReader(System.in));
          
           try {
               s = br.readLine();
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
       }
   }
  
   public void writeStudent(){
       System.out.println("Student Name:" + this.name);
       System.out.println("Courses...");
       for(String course: this.courses){
           System.out.println(course);
       }
   }
}

PART3:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;


public class PartTimeStudent extends Student {

   public PartTimeStudent() {
       super();
   }

   public PartTimeStudent(String n) {
       super(n);
       // TODO Auto-generated constructor stub
   }

   public void assignCourses() throws CourseListException{
       System.out.println("Enter course:");
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       String s = null;
       try {
           s = br.readLine();
       } catch (IOException e) {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       int count = 0;
       while(s != null){
           if(count>5){
               throw new CourseListException();
           }
           this.courses[count++]= s;
           System.out.println("Enter course:");
           br = new BufferedReader(new InputStreamReader(System.in));
          
           try {
               s = br.readLine();
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
           }
       }
   }
     
}

PART 4:


public class TestStudent {

   /**
   * @param args
   * @throws CourseListException
   */
   public static void main(String[] args) throws CourseListException {
       //1
       Student student = new Student("Alice");
      
       //2
       student.assignCourses();
      
       //3
       student.writeStudent();
      
       //4
       PartTimeStudent partTimeStudent = new PartTimeStudent("Bob");
      
       //5
       partTimeStudent.assignCourses();
      
       //6
       partTimeStudent.writeStudent();
      
   }

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote