コースをカプセル化するクラスを作成する必要があります。コースには、コード名、説明、単位数の 3 つの属性があると想定されます。コンストラクター、アクセサーとミューテーター、メソッドtoString
とequals
.
この課題の一環として、クライアント クラスを作成して、Course
クラス内のすべてのメソッドをテストする必要があります。Course クラスは終了したと思いますが、クライアントの記述に問題があります。私が試したすべてのことについて、「非静的変数は静的コンテキストから参照できません」というエラーが表示されます。私は何を間違っていますか?
わかりました、コードを書き直しました。mutator メソッドを機能させる方法と、ユーザーに入力を求めて新しいコースのすべての値を設定し、アクセサー メソッドと mutator メソッドを使用しているときにそれらを画面に出力する方法がまだわかりません。みんな助けてください。ありがとう
public class ManualClass
{
public static void main(String[] args)
{
Course compSci = new Test2().new Course("Comp Sci","IT1101",3.0);
System.out.println(compSci+ "\n");
Course dave = new Test2().new Course("Hist1111","World History",4.0);
System.out.print(dave.getCourseCode() + " " + dave.getDescription()
+ " " + dave.getCreditHours() + "\n");
}
public class Course
{
//Instance Variables
private String courseCode;
private String description;
private Double creditHours;
public Course()
{
courseCode = null;
creditHours = 0.0;
description = null;
}
//Constructor
public Course(String courseCode, String description, double creditHours)
{
this.courseCode = courseCode;
this.description = description;
this.creditHours = creditHours;
}
//Accessors (Getters)
public String getCourseCode()
{
return courseCode;
}
public String getDescription()
{
return description;
}
public double getCreditHours()
{
return creditHours;
}
//Mutators (Setters)
public void setCourseCode(String CourseCode)
{
this.courseCode = courseCode;
}
public void setDescription(String description)
{
this.description = description;
}
public void setCreditHours(double creditHours)
{
this.creditHours = creditHours;
}
// toString Method
public String toString()
{
DecimalFormat creditsFormat = new DecimalFormat ("#0.0");
return "Code: " + courseCode + "; Description: "
+ description + "; creditHours: "
+ creditsFormat.format(creditHours);
}
// Equals Method
public boolean equals(Object o)
{
if (!(o instanceof Course))
return false;
else
{
Course objCourse = (Course) o;
if (courseCode.equals(objCourse.courseCode)
&& description == objCourse.description
&& creditHours == objCourse.creditHours)
return true;
else
return false;
}
}
}
}