Create a class named College Course that includes data field
Create a class named College Course that includes data fields that hold the department (for example, ENG), the course number (for example, 101), the credits (for example, 3), and the fee for the course (for example, $360).
All of the fields are required as arguments to the constructor, except for the fee, which is calculated at $120 per credit hour.
Include a display () method that displays the course data.
Create a subclass named Lab Course that adds $50 to the course fee.
Override the parent class display () method to indicate that the course is a lab course and to display all the data.
Write an application named UseCourse that prompts the user for course information.
If the user enters a class in any of the following departments, create a LabCourse: BIO, CHM, CIS, or PHY. If the user enters any other department, create a CollegeCourse that does not include the lab fee.
Then display the course data.
Save the files as CollegeCourse.java, LabCourse.java, and UseCourse.java.
Solution
// CollegeCourse.java
public class CollegeCourse
{
private String department;
private int course_Number;
private int course_Credits;
private double course_Fee;
public CollegeCourse(String dept, int coursenumber, int courrsecredits)
{
department = dept.toUpperCase();
course_Number = coursenumber;
course_Credits = courrsecredits;
calculatecourse_Fee();
}
public String getDepartment()
{
return department;
}
public int getCourse_Number()
{
return course_Number;
}
public int getcourse_Credits()
{
return course_Credits;
}
public double getcourse_Fee()
{
return course_Fee;
}
private void calculatecourse_Fee()
{
course_Fee = 120.00 * course_Credits;
}
public void display()
{
System.out.println(\"\ Department: \" + department);
System.out.println(\"Course Number: \" + course_Number);
System.out.println(\"Credit Hours: \" + course_Credits);
System.out.println(\"Course Fee: \" + course_Fee);
}
}
// LabCourse.java
public class LabCourse extends CollegeCourse
{
private double lab_Course_Fee;
public LabCourse(String dept, int coursenumber, int courrsecredits)
{
super(dept, coursenumber, courrsecredits);
this.calculatecourse_Fee();
}
private void calculatecourse_Fee()
{
lab_Course_Fee = super.getcourse_Fee() + 50.00;
}
public void display()
{
System.out.println(\"Department: \" + getDepartment());
System.out.println(\"Course Number: \" + getCourse_Number());
System.out.println(\"Credit Hrs: \" + getcourse_Credits());
System.out.println(\"Course Fee: \" + lab_Course_Fee);
System.out.println(\"Lab Fee: $\" + 50.00);
}
}
// UseCourse.java
import java.util.Scanner;
public class UseCourse
{
private enum lab_Courses {BIO, CHM, CIS, PHY};
private static boolean checklabCourse(String str)
{
for(lab_Courses course : lab_Courses.values())
{
if(course.name().equals(str))
return true;
}
return false;
}
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
String dept;
int course_Number;
int course_Credits;
System.out.print(\"Enter Department: \");
dept = in.nextLine();
dept = dept.toUpperCase().substring(0, 3);
System.out.print(\"Enter Course Number: \");
course_Number = in.nextInt();
System.out.print(\"Enter the number of credit hours: \");
course_Credits = in.nextInt();
if(checklabCourse(dept))
{
LabCourse course = new LabCourse(dept, course_Number, course_Credits);
course.display();
}
else
{
CollegeCourse course = new CollegeCourse(dept, course_Number, course_Credits);
course.display();
}
in.close();
}
}
/*
output:
Enter Department: BIOLOGY
Enter Course Number: 342
Enter the number of credit hours: 23
Department: BIO
Course Number: 342
Credit Hrs: 23
Course Fee: 2810.0
Lab Fee: $50.0
Enter Department: MATHS
Enter Course Number: 213
Enter the number of credit hours: 23
Department: MAT
Course Number: 213
Credit Hours: 23
Course Fee: 2760.0
*/


