2011-05-17 35 views
1

我非常喜歡Java的新手。我被要求爲一個非常簡單的課程類(名爲Course)編寫一個java類,它具有數據成員名稱和學分(例如「Programming and Logic I」,4)。你的類需要包含每個屬性的訪問器(即get)和增變器(即set)方法,以及至少一個初始化數據成員名稱和學分數的重載構造函數。用訪問器和增變器編寫一個簡單的類

這是我迄今爲止,但我相信我是如此遙遠,我的大腦只是不想現在工作。

public class Course { 

public String courseName; 
public int creditHours; 

public Course(String courseName, int creditHours) { 

    this.courseName = courseName; 
    this.creditHours = creditHours; 


    public String getCourseName() { 
     return courseName; 
    } 
    public int getCreditHours(){ 
     return creditHours 
    } 



    public void setCourse(String course) 
    { 
    this.course = course; 
    } 


    public void setHours(String hours) 
    { 
    this.hours = hours; 
    } 

} 
} 
+0

你一些線索,你的屬性應該是私有的或存在存取和,因爲他們可以直接設置存取器沒有意義。您的構造函數包含您的訪問器和變體,並且應該儘快結束。你設定的方法是錯誤的,'this.course'從哪裏來? – 2011-05-17 00:18:23

回答

1

首先,你的構造函數應該在初始化變量後結束。然後,在你的方法實現之後,在類方括號內。你也應該使你的變量聲明是私人的。只有這些方法是公開的或外部可用的。其次,你的setter方法應該設置你的變量名稱。換句話說

this.courseName = course; 

代替

this.course = course; 

你沒有this.course。

希望這會有所幫助。

+0

謝謝,解決了! – Alex 2011-05-17 00:27:24

3

您的語法只是有點關閉。在Java中,構造函數幾乎像任何其他方法一樣被聲明爲類的方法。嘗試

public Course { 
    private String courseName; 
    private int creditHours; 

    public Course() { 
     courseName = null; 
     creditHours = 0; 
    } 

    public Course(String courseName, int creditHours) { 
     this.courseName = courseName; 
     this.creditHours = creditHours; 
    } 

    // ... and your getters and setters, which look fine except for one missing semicolon 
} 
+0

謝謝,解決了! – Alex 2011-05-17 00:27:32

+1

我總是覺得很煩人,看到人們評論說,一些工作,但沒有大的綠色複選標記... – L0j1k 2012-10-22 06:54:50