为什么我的get方法getAuthor()没有返回输出?

时间:2018-03-31 09:55:39

标签: java return

我的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; 
    }
}

4 个答案:

答案 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()有效地返回了某些东西,但你没有使用它

  1. 您可以将其保存在以下位置之后使用:

    String author = myBook.getAuthor();
    System.out.println(author);          // for simple printing
    System.out.println(author.charAt(1));          // to print a single char
    ...
    
  2. 您可以直接打印

    System.out.println("The author is "+ myBook.getAuthor());
    

答案 3 :(得分:0)

首先在字符串变量中接收方法结果并将其打印出来..

string result = myBook.getAuthor();

的System.out.println(结果);