2016-12-28 114 views
-5

我剛開始學習Java,這是我寫的第一個東西。 但是,我有問題進入類的概念,因此我得到了幾個錯誤。訪問另一個類

我有兩個文件;第一個是Book.java

如果我嘗試編譯代碼,我會得到15個錯誤,其中一些是因爲我在無法執行的情況下返回NULL。但我想首先尋找其他錯誤的解決方案。他們都說'找不到符號',因爲它顯然無法訪問其他課程。

這兩個文件都在同一個目錄中。 我讀過我必須在BookStore文件main方法中創建一個Book類並使用它來訪問它,但在這種情況下我不知道該如何做。

我希望你能幫我解決我的問題。

J.

+0

開始將'NULL'改爲'null' –

+2

對於'Book'類,將構造函數'Book'命名爲'Book',而不是'makeBook'。但總的來說,只要仔細閱讀每條錯誤消息,思考它所說的內容,並弄清楚如何解決它。這比要求我們重寫你的代碼以使錯誤消失好得多,因爲這樣你纔會真正學到一些東西。 –

+2

編譯器錯誤應該是你通過閱讀這些消息來找出的東西,指向語言來源以查看錯誤出現的位置,然後進行修復,直到獲得成功的編譯。 SO不是提問編譯器錯誤和缺乏語言知識的地方。 – duffymo

回答

0

那本書課並不是最好的選擇。試試這個:

public class Book { 
    private final String name; 
    private final String isbn; 
    private final double price; 

    public Book(String name, String isbn, double price) { 
     this.name = name; 
     this.isbn = isbn; 
     this.price = price; 
    } 

    public String toString() { 
     return String.format("name: '%s' ISBN: %s price %10.2f", this.name, this.isbn, this.price); 
    } 
} 
1

有多種事情,我可以立即發現那裏,而不是NULL 2.你沒有明確落實書的構造。

當你創建一個Book實例,您需要使用

Book book = new Book(); 

注意構造必須是相同的名稱是在這種情況下,「書」之類的 3.這只是一個音符並沒有錯,但看看HashMap數據結構。可能幫助很多,而不是循環。

+0

謝謝,我已經將NULL更改爲null,並將其重命名爲構造函數。但我仍然得到'找不到符號'的錯誤。 – mejasper

+0

我要說的是現在和其他時間,你需要學習使用調試器。放置一個斷點並逐個查看這些語句。你可以看到你的變量是如何變化的,從而找到錯誤的確切位置。最後,如果您發現這是正確的答案,請不要忘記設置正確的答案。 –

0

你的「主要」方法的第2行應該創建一個「新」書店,就像它上面的行一樣。至於「主」的第一行,雖然;你正在創建一本新書,然後從不在任何地方使用它,因此它可以被刪除。

這應該從您的錯誤列表中刪除至少1個錯誤和1個警告。如果你列出了編譯器給出的所有錯誤,這將會很有幫助,所以我沒有猜測。

+0

那麼我已經改變了主要方法的前兩行,但沒有真正改變。 – mejasper