You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中调用Book类的getAuthor()方法无输出,求技术排查帮助

问题分析与解决方案

嘿,我帮你找到问题的根源啦!你运行代码后没有输出,核心原因是:你调用的getAuthor()方法只是返回作者的字符串,但你没有把这个返回值输出到控制台。Java不会自动打印方法的返回值,必须显式执行输出操作才行。

先给你补全并修正完整的代码:

首先是完整的Book类(你原来的代码被截断了,我帮你补全了合理的实现):

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;
        this.publishedYear = year; // 补全年份的赋值逻辑
    }

    // 标准的getter方法:返回作者字符串
    public String getAuthor() {
        return this.author;
    }
}

然后修改BookTester类,把getAuthor()的返回值打印出来:

public class BookTester {
    public static void main(String[] args) {
        Book myBook = new Book("My life", "Sam Daily", 2001);
        // 显式打印getAuthor()的返回值
        System.out.println(myBook.getAuthor());
        
        // 也可以先把返回值存到变量里再打印,效果一样
        // String bookAuthor = myBook.getAuthor();
        // System.out.println(bookAuthor);
    }
}

另外还有一种思路:如果希望调用getAuthor()时直接输出内容,可以把getAuthor()改成void类型,在方法内部添加打印逻辑:

// 修改后的Book类中的getAuthor方法
public void getAuthor() {
    System.out.println(this.author);
}

这种情况下,你原来的BookTester代码不需要修改,直接调用myBook.getAuthor()就会输出作者信息了。

内容的提问来源于stack exchange,提问作者Popilofu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:25:02