Java 如何使用Student类对象访问Department类的方法

Java 如何使用Student类对象访问Department类的方法,java,class,object,getter-setter,Java,Class,Object,Getter Setter,使用以下私有成员变量创建类部门 int did String dname int sid String sname Department department 在Department类中包含适当的getter和setter方法 department.setDid(did); department.setDname(dname); student.setSid(sid); student.setSname(sname); student.setDepartment(department);

使用以下私有成员变量创建类部门

int did
String dname
int sid
String sname
Department department
在Department类中包含适当的getter和setter方法

department.setDid(did);
department.setDname(dname);
student.setSid(sid);
student.setSname(sname);
student.setDepartment(department);
使用以下私有成员变量创建一个班级学生

int did
String dname
int sid
String sname
Department department
在学生课堂上包括适当的getter和setter方法

department.setDid(did);
department.setDname(dname);
student.setSid(sid);
student.setSname(sname);
student.setDepartment(department);
创建一个具有main方法的TestMain类

除了main方法之外,还要创建一个方法

       public static Student createStudent() -  All input as shown in the sample input should be got in this method.  Set the values to the Student object and return that object
注意:在main方法中,调用createStudent方法并打印该方法返回的对象的详细信息

我已尝试使用部门名称创建新对象,但无法访问这些方法

import java.util.Scanner;

public class TestMain {

    public static Student student;
    public static Department department;

    public static void main(String args[]) {
        createStudent();
        System.out.println("Department id:" + department.getDid());
        System.out.println("Department name:" + department.getDname());
        System.out.println("Student id:" + student.getSid());
        System.out.println("Student name:" + student.getSname());
    }

    public static Student createStudent() {
        Scanner sc = new Scanner(System.in);
        student = new Student();
        department = new Department();
        System.out.println("Enter the Department id:");
        department.setDid(sc.nextInt());
        System.out.println("Enter the Department name:");
        department.setDname(sc.next());
        System.out.println("Enter the Student id:");
        student.setSid(sc.nextInt());
        System.out.println("Enter the Student name:");
        student.setSname(sc.next());
        return student;
    }
}

public class Student {

    private int sid;
    private String sname;
    private Department department;

    public int getSid() {
        return sid;
    }

    public void setSid(int sid) {
        this.sid = sid;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public Department getDepartment() {
        return department;
    }

    public void setDepartment(Department department) {
        this.department = department;
    }
}

public class Department {

    private int did;
    private String dname;

    public int getDid() {
        return did;
    }

    public void setDid(int did) {
        this.did = did;
    }

    public String getDname() {
        return dname;
    }

    public void setDname(String dname) {
        this.dname = dname;
    }
}
示例输入1:

Enter the Department id:
100
Enter the Department name:
Computerscience

Enter the Student id:
123
Enter the Student name:
Sudha
样本输出1:

Department id:100
Department name:Computerscience
Student id:123
Student name:sudha
您缺少:

student.setDepartment(department);
之后,您可以执行以下操作:

student.getDepartment().getSname();

在这种情况下,必须做两件事

  • 在为所有ID和名称“设置”值时,在设置了did和dname之后,为了通过student对象访问该ID和名称,必须将did和dname组合“设置”到student类中的department对象

    department.setDid(did);
    department.setDname(dname);
    student.setSid(sid);
    student.setSname(sname);
    student.setDepartment(department);
    
  • 另外,现在,一旦设置了正确的值,在Main中的Sysout语句之前,您必须为Department类创建一个对象。这方面的数据来自于在student类中调用
    getDepartment()
    (记住此函数返回一个Department对象)


  • 如果您收到一条错误消息,请发布它(并指出它所指的行,因为我们不一定知道行号是什么)。在main方法中,调用createStudent方法并打印该方法返回的对象的详细信息。注意:由于您不保存此方法返回的对象,你不能打印关于它的任何东西。注意:这是一个学生,不是一个系。