Java 没有返回我认为应该返回的对象
好的,所以我们必须在一个单独的文件上创建一个书架和图书对象,其中包含publisher、author、版权日期等(基本上是为驱动程序类创建一个对象)。这周我已经重做了两次,但仍然会出现同样的错误。也许有人能给我指出正确的方向?也许我错过了什么,我不确定。编辑:问题是:对不起,我正在为工作做准备,我有三个问题:首先,输出给我:Book@15db9742 Book@6d06d69c然后今年的图书课是红色的,说要从字符串转换成int,所以我这样做了,然后它想回到另一种方式Java 没有返回我认为应该返回的对象,java,Java,好的,所以我们必须在一个单独的文件上创建一个书架和图书对象,其中包含publisher、author、版权日期等(基本上是为驱动程序类创建一个对象)。这周我已经重做了两次,但仍然会出现同样的错误。也许有人能给我指出正确的方向?也许我错过了什么,我不确定。编辑:问题是:对不起,我正在为工作做准备,我有三个问题:首先,输出给我:Book@15db9742 Book@6d06d69c然后今年的图书课是红色的,说要从字符串转换成int,所以我这样做了,然后它想回到另一种方式 public cla
public class Book {
private String title;
private String author;
private String publisher;
private int copyDate;
public Book(String bookTitle, String authorName, String publisherName, int bookYear){
title = bookTitle;
author = authorName;
publisher = publisherName;
copyDate = bookYear;
}
public Book(){
title = "book titler";
author = "author name";
publisher = "book publisher";
copyDate = "2014";
}
public String getTitle() {
return title;
}
public void setTitle(String bookTitle) {
title=bookTitle;
}
public String getAuthor() {
return author;
}
public void setAuthor(String authorName) {
author = authorName;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisherName) {
publisher = publisherName;
}
public int getCopyDate() {
return copyDate;
}
public void setCopyDate(int copyDate) {
this.copyDate = copyDate;
}
}
以下是主要课程:
public class BookShelf {
public static void main(String[] args) {
int bookYear = 2014;
Book name1 = new Book("book\n", "something\n", "something else\n", bookYear);
Book name2 = new Book("anotherBook\n", "anotherSomething\n", "somethingElse^2\n", bookYear);
System.out.println(name1);
System.out.println(name2);
}
}
我输入了任意的信息,这样我就可以确保它在我去搜索一本好书之前能够正常工作,从而为lol输入信息
谢谢大家! 我认为您需要重写
toString()
方法,以便System.out.println()
打印您想要的有关图书对象的信息
默认情况下,对象的toString()不打印任何字段,而是:
class对象的toString方法返回一个字符串,该字符串由对象作为实例的类的名称、at符号字符“@”和对象哈希代码的无符号十六进制表示形式组成。换句话说,此方法返回一个等于以下值的字符串:
此方法将放在类中(每个类都有自己的`toString()实现)
正如Andreas Jabusch在另一个答案中所说,构造函数设置的copyDate
不正确。它应该是一个int
copyDate = 2014
去掉使其成为字符串的引号。我认为您需要重写
toString()
方法,以便System.out.println()
打印您想要的有关图书对象的信息
默认情况下,对象的toString()不打印任何字段,而是:
class对象的toString方法返回一个字符串,该字符串由对象作为实例的类的名称、at符号字符“@”和对象哈希代码的无符号十六进制表示形式组成。换句话说,此方法返回一个等于以下值的字符串:
此方法将放在类中(每个类都有自己的`toString()实现)
正如Andreas Jabusch在另一个答案中所说,构造函数设置的copyDate
不正确。它应该是一个int
copyDate = 2014
去掉使其成为字符串的引号。
copyDate = "2014"
一定是
copyDate = 2014
这是一个int,不是字符串。您的
copyDate = "2014"
一定是
copyDate = 2014
这是一个整数,不是字符串。请包含“错误”对不起,我正在为工作做准备,我有三个:首先,输出给我:Book@15db9742 Book@6d06d69c然后,今年的book类是红色的,表示要从字符串转换为int,所以我这样做了,然后它想返回到另一种方式。这是类的
toString
的默认返回值对象
,您需要在类中重写它,并给它一个有意义的实现。book构造函数中的实例字段没有关键字“this”。今年的book类是红色的:您需要学习如何使用IDE。每个IDE都有一个以文本形式列出编译错误和警告的视图。您必须阅读这些错误消息,如果不理解,请发布它们。仅仅知道一个类“是红色的”是不够的。错误消息会告诉您问题所在。请包括“错误”对不起,我正在为工作做准备,我有三个:首先,输出给我:Book@15db9742 Book@6d06d69c然后,今年的book类是红色的,表示要从字符串转换为int,所以我这样做了,然后它想返回到另一种方式。这是类的toString
的默认返回值对象
,您需要在类中重写它,并给它一个有意义的实现。book构造函数中的实例字段没有关键字“this”。今年的book类是红色的:您需要学习如何使用IDE。每个IDE都有一个以文本形式列出编译错误和警告的视图。您必须阅读这些错误消息,如果不理解,请发布它们。仅仅知道一个类“是红色的”是不够的。错误信息会告诉你问题所在,是在课堂上还是在课堂上?对不起,我觉得自己像个白痴,我甚至没有在书中看到这一点,直到我们现在的位置。感谢您的帮助。Book[title=Book,author=something,publisher=something,copyDate=2014]Book[title=anotherBook,author=anotherSomething,publisher=somethingElse^2,copyDate=2014]这就是它的输出吗?它看起来像一个调试类型的东西;所以我假设如果这是它的输出,那么考虑到下一节是调试,这是有意义的。但我也不确定;这是我第一次上编程课,我也没有任何经验。调试期间经常使用toString。你想放多少就放多少。如果你想在程序中打印出关于这本书的信息,你不应该使用toString(),而是应该依靠这本书的getter方法来获取你想要的值,并用这些值生成一个新的字符串。这是在类中还是在main中?对不起,我觉得自己像个白痴,我甚至没有在书中看到这一点,直到我们现在的位置。感谢您的帮助。Book[title=Book,author=something,publisher=something,copyDate=2014]Book[title=anotherBook,author=anotherSomething,publisher=somethingElse^2,copyDate=2014]这就是它的输出吗?它看起来像一个调试类型的东西;所以我假设如果这是它的输出,那么考虑到下一节是调试,这是有意义的。但我也不确定;这是我第一次上编程课,我也没有任何经验。调试期间经常使用toString。你可以去