我的BookTester类正在创建一本新书并调用getAuthor(),但是当我运行时,它不会返回任何输出。我不确定为什么?任何帮助表示赞赏,谢谢!
public class BookTester {
public static void main(String[] args) {
Book myBook = new Book("My life", "Sam Daily", 2001);
myBook.getAuthor();
}
}
class Book {
private String title;
private String author;
private int publishedYear;
public Book(String title, String author, int year)
{
this.title = title;
this.author = author;
publishedYear = year;
}
public int getYear(){
System.out.println(publishedYear);
return publishedYear;
}
public String getTitle(){
return title;
}
public String getAuthor(){
return author;
}
}
答案 0 :(得分:1)
方法签名:
public String getAuthor(){ ... }
表示不带参数且返回String
的方法。甚至该方法的名称都说“getAuthor”,以获取或检索某些东西。
你忽略了方法调用的结果。
解决方案是将结果存储到变量中,然后对其进行操作。
String author = myBook.getAuthor();
或者如果你想打印到控制台,那么你可以这样做:
System.out.println(myBook.getAuthor());
答案 1 :(得分:0)
您没有看到返回值的原因是因为您忽略了它。
public static void main(String[] args) {
Book myBook = new Book("My life", "Sam Daily", 2001);
myBook.getAuthor(); // Value is returned but not used
}
相反,您可以将返回值分配给变量并打印它,或者只是从方法调用中打印出来:
System.out.println(myBook.getAuthor());
考虑到这是非常基本的事情,我建议你在其他方面获得一些好的Java书或一些教程,以便更快地进步。
答案 2 :(得分:0)
方法getAuthor()
有效地返回了某些东西,但你没有使用它
您可以将其保存在以下位置之后使用:
String author = myBook.getAuthor();
System.out.println(author); // for simple printing
System.out.println(author.charAt(1)); // to print a single char
...
您可以直接打印
System.out.println("The author is "+ myBook.getAuthor());
答案 3 :(得分:0)
首先在字符串变量中接收方法结果并将其打印出来..
string result = myBook.getAuthor();
的System.out.println(结果);