如何使用 Student class 对象访问 Department class 的方法
How can I access the methods of Department class using Student class object
使用以下私有成员变量创建一个class部门
int did
String dname
在部门 class 中包含适当的 getter 和 setter 方法。
创建一个class具有以下私有成员变量的Student
int sid
String sname
Department department
在 Student class 中包含适当的 getter 和 setter 方法。
创建一个具有 main 方法的 TestMain class。
除了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 方法并打印该方法返回的对象的详细信息。
我已经尝试使用 Department 的名称创建一个新对象,但我无法访问这些方法
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();
import java.util.*;
public class TestMain
{
public static Department d1;
public static Student s1;
public static Student createStudent()
{
Scanner sc=new Scanner(System.in);
Student s1=new Student();
Department d1=new Department();
System.out.println("Enter the Department id:");
int did=sc.nextInt();
sc.nextLine();
System.out.println("Enter the Department name:");
String dname=sc.nextLine();
System.out.println("Enter the Student id:");
int sid=sc.nextInt();
sc.nextLine();
System.out.println("Enter the Student name:");
String sname=sc.nextLine();
d1.setDid(did);
d1.setDname(dname);
s1.setSid(sid);
s1.setSname(sname);
s1.setDepartment(d1);
return s1;
}
public static void main(String[] args)
{
s1=TestMain.createStudent();
System.out.println("Department id:"+d1.getDid());
System.out.println("Department name:"+d1.getDname());
System.out.println("Student id:"+s1.getSid());
System.out.println("Student name:"+s1.getSname());
}
}
public static void main(String args[]) throws NumberFormatException, IOException
{
s1 = createStudent();
d1 = s1.getDepartment(); // THIS WAS MISSING IN ANSWER 2
System.out.println("Department id:"+d1.getDid());
System.out.println("Department name:"+d1.getDname());
System.out.println("Student id:"+s1.getSid());
System.out.println("Student name:"+s1.getSname());
}
在这种情况下,必须完成两件事。
在为所有 ID 和名称“设置”值时,在设置了 did 和 dname 之后,为了通过学生对象访问它,您必须“设置”did 和 dname 组合到 student class.
内部的 department 对象
department.setDid(did);
department.setDname(dname);
student.setSid(sid);
student.setSname(sname);
student.setDepartment(department);
此外,现在一旦设置了正确的值,在 Main 中的 Sysout 语句之前,您必须为部门 class 创建一个对象。并且此数据通过调用学生 class 中的 getDepartment()
来获取(请记住,此函数 returns 是部门对象)。
public static void main(String[] args) {
// TODO Auto-generated method stub
Student student = createStudent();
Department department = student.getDepartment();
System.out.printf("Department id:%d",department.getDid()).println();
System.out.printf("Department name:%s",department.getDname()).println();
System.out.printf("Student id:%d",student.getSid()).println();
System.out.printf("Student name:%s",student.getSname()).println();
}
使用以下私有成员变量创建一个class部门
int did
String dname
在部门 class 中包含适当的 getter 和 setter 方法。
创建一个class具有以下私有成员变量的Student
int sid
String sname
Department department
在 Student class 中包含适当的 getter 和 setter 方法。
创建一个具有 main 方法的 TestMain class。
除了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 方法并打印该方法返回的对象的详细信息。
我已经尝试使用 Department 的名称创建一个新对象,但我无法访问这些方法
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();
import java.util.*;
public class TestMain
{
public static Department d1;
public static Student s1;
public static Student createStudent()
{
Scanner sc=new Scanner(System.in);
Student s1=new Student();
Department d1=new Department();
System.out.println("Enter the Department id:");
int did=sc.nextInt();
sc.nextLine();
System.out.println("Enter the Department name:");
String dname=sc.nextLine();
System.out.println("Enter the Student id:");
int sid=sc.nextInt();
sc.nextLine();
System.out.println("Enter the Student name:");
String sname=sc.nextLine();
d1.setDid(did);
d1.setDname(dname);
s1.setSid(sid);
s1.setSname(sname);
s1.setDepartment(d1);
return s1;
}
public static void main(String[] args)
{
s1=TestMain.createStudent();
System.out.println("Department id:"+d1.getDid());
System.out.println("Department name:"+d1.getDname());
System.out.println("Student id:"+s1.getSid());
System.out.println("Student name:"+s1.getSname());
}
}
public static void main(String args[]) throws NumberFormatException, IOException
{
s1 = createStudent();
d1 = s1.getDepartment(); // THIS WAS MISSING IN ANSWER 2
System.out.println("Department id:"+d1.getDid());
System.out.println("Department name:"+d1.getDname());
System.out.println("Student id:"+s1.getSid());
System.out.println("Student name:"+s1.getSname());
}
在这种情况下,必须完成两件事。
在为所有 ID 和名称“设置”值时,在设置了 did 和 dname 之后,为了通过学生对象访问它,您必须“设置”did 和 dname 组合到 student class.
内部的 department 对象department.setDid(did); department.setDname(dname); student.setSid(sid); student.setSname(sname); student.setDepartment(department);
此外,现在一旦设置了正确的值,在 Main 中的 Sysout 语句之前,您必须为部门 class 创建一个对象。并且此数据通过调用学生 class 中的
getDepartment()
来获取(请记住,此函数 returns 是部门对象)。public static void main(String[] args) { // TODO Auto-generated method stub Student student = createStudent(); Department department = student.getDepartment(); System.out.printf("Department id:%d",department.getDid()).println(); System.out.printf("Department name:%s",department.getDname()).println(); System.out.printf("Student id:%d",student.getSid()).println(); System.out.printf("Student name:%s",student.getSname()).println(); }