I need to write a class that encapsulates this program. It should supplement the
ID: 3773940 • Letter: I
Question
I need to write a class that encapsulates this program. It should supplement the constructor, accessors, and mutators. As well as methods like toString and equals.
public class CourseGradeClient
{
public static void main( String [] args )
{
CourseGrade cg1 = new CourseGrade( "CS1", 'A' );
CourseGrade cg2 = new CourseGrade( "CS2", 'B' );
System.out.println( "The course of course grade #1 is " + cg1.getCourseName( ) );
System.out.println( "The grade of course grade #1 is " + cg1.getGrade( ) );
System.out.println( "Course Grade #2 is " + cg2.toString( ) );
if ( cg1.equals( cg2 ) )
System.out.println( "Original CourseGrade #1 and #2 are identical" );
else
System.out.println( "Original CourseGrade #1 and #2 are different" );
cg2.setCourseName( "CS1" );
cg2.setGrade( 'A' );
if ( cg1.equals( cg2 ) )
System.out.println( "Original CourseGrade #1 and modified CourseGrade #2 are identical" );
else
System.out.println( "Original CourseGrade #1 and modified CourseGrade #2 are different" );
}
}
Explanation / Answer
CourseGradeClient.java
public class CourseGradeClient
{
public static void main( String [] args )
{
CourseGrade cg1 = new CourseGrade( "CS1", 'A' );
CourseGrade cg2 = new CourseGrade( "CS2", 'B' );
System.out.println( "The course of course grade #1 is " + cg1.getCourseName( ) );
System.out.println( "The grade of course grade #1 is " + cg1.getGrade( ) );
System.out.println( "Course Grade #2 is " + cg2.toString( ) );
if ( cg1.equals( cg2 ) )
System.out.println( "Original CourseGrade #1 and #2 are identical" );
else
System.out.println( "Original CourseGrade #1 and #2 are different" );
cg2.setCourseName( "CS1" );
cg2.setGrade( 'A' );
if ( cg1.equals( cg2 ) )
System.out.println( "Original CourseGrade #1 and modified CourseGrade #2 are identical" );
else
System.out.println( "Original CourseGrade #1 and modified CourseGrade #2 are different" );
}
}
CourseGrade.java
public class CourseGrade {
private String courseName;
private char grade;
public CourseGrade(String c, char g){
courseName = c;
grade = g;
}
public String getCourseName() {
return courseName;
}
public void setCourseName(String courseName) {
this.courseName = courseName;
}
public char getGrade() {
return grade;
}
public void setGrade(char grade) {
this.grade = grade;
}
public String toString(){
return "course name is "+courseName+" grade is "+grade;
}
public boolean equals(CourseGrade c){
if(this.courseName==c.courseName && this.grade == c.grade){
return true;
}
else{
return false;
}
}
}
Output:
The course of course grade #1 is CS1
The grade of course grade #1 is A
Course Grade #2 is course name is CS2 grade is B
Original CourseGrade #1 and #2 are different
Original CourseGrade #1 and modified CourseGrade #2 are identical