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

Java课程作业运行时讲师信息输出为null的问题如何解决?

问题修复方案

你代码里一共存在3处核心错误,按下方步骤修改即可解决输出null的问题:

1. 修复Instructor类的属性定义错误

原Instructor类的3个属性都加了static修饰符,属于类全局共享属性,不是每个讲师实例的独有属性,会导致所有讲师对象共用一套值,直接去掉static即可:

// 原错误代码
public static String firstName;
public static String lastName;
public static String officeNum;

// 修改后
public String firstName;
public String lastName;
public String officeNum;

2. 修复Course类有参构造的赋值逻辑错误

原构造方法没有给类内的instructor成员变量赋值,反而调用了逻辑错误的setInstructor方法,直接把你传入的Instructor实例赋值给成员变量即可:

// 原错误代码
public Course(String name, Instructor inst, String univer)
{
    this.setName(name);
    this.setInstructor(name, Instructor.lastName, Instructor.officeNum);
    this.setUniversity(univer);
}

// 修改后
public Course(String name, Instructor inst, String univer)
{
    this.setName(name);
    this.instructor = inst; // 直接赋值传入的讲师实例
    this.setUniversity(univer);
}

3. (可选)修复Course类setInstructor方法的逻辑

如果后续需要单独修改课程的讲师信息,把方法调整为接收Instructor实例赋值的逻辑,避免直接操作其他类的属性:

// 原错误代码
public void setInstructor(String firstName, String lastName, String office)
{
    Instructor.firstName = firstName;
    Instructor.lastName = lastName;
    Instructor.officeNum = office;
}

// 修改后
public void setInstructor(Instructor inst)
{
    this.instructor = inst;
}

修改完成后运行即可正常输出预期的讲师信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:15:01