2016-12-28 113 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