Java studentList.addStudent()的括号中有什么内容?
因此,我有一个带有Java studentList.addStudent()的括号中有什么内容?,java,linked-list,Java,Linked List,因此,我有一个带有addStudent()方法的GUI类,该方法用于调用Manager类的addStudent(Student aNewStudentObj),然后使用用户输入的信息创建Student类的对象。然后,此对象将存储在管理器类中的链接列表中 我的问题是,addStudent()方法位于GUI类中,如果其中有任何内容,那么该方法的括号中会有什么内容 我已经尝试了我能想到的一切,现在我的头发快要掉了,所以我非常感谢所有可能的帮助。求你了 我相信所有必需的代码都在下面,但是如果您需要完整的
addStudent()
方法的GUI类,该方法用于调用Manager类的addStudent(Student aNewStudentObj)
,然后使用用户输入的信息创建Student类的对象。然后,此对象将存储在管理器类中的链接列表中
我的问题是,addStudent()
方法位于GUI类中,如果其中有任何内容,那么该方法的括号中会有什么内容
我已经尝试了我能想到的一切,现在我的头发快要掉了,所以我非常感谢所有可能的帮助。求你了
我相信所有必需的代码都在下面,但是如果您需要完整的GUI类,请告诉我。我也有一个模块课程,但我不认为这对这个问题是必要的
addStudent()
方法来自下面的GUI类
public void addStudent() {
Manager studentList = new Manager();
studentList.addStudent(); <----------------- What goes in those brackets?
}
public class Student {
private String firstName;
private String surname;
private String email;
private int yearOfStudy;
private int studentId;
private Queue<Module> mods = new LinkedList<>();
public String getFirstName() {
return firstName;
}
public String getSurname() {
return surname;
}
public String getEmail() {
return email;
}
public int getYearOfStudy() {
return yearOfStudy;
}
public int getStudentId() {
return studentId;
}
public String print() {
return "Student ID: " + studentId + "\n"
+ "First Name: " + firstName + "\n"
+ "Surname: " + surname + "\n"
+ "Email: " + email + "\n"
+ "Year of Study: " + yearOfStudy;
}
public void addModule(int id, String mCode, int mMark) {
if (mods.size() == 4) {
mods.remove();
}
Module module = new Module();
mods.add(module);
}
//this method returns the module list of this student sorted by marks
public String getModulesSortedByMarks(int id) {
Object[] sortedMods;
sortedMods = mods.toArray();
Arrays.sort(sortedMods);
String sortedModulesList = "";
for (int i = 0; i < sortedMods.length; i++) {
sortedModulesList = "\n" + ((Module) sortedMods[i]).print();
}
return sortedModulesList;
}
}
public class Manager {
List<Student> studs = new LinkedList<>();
public void addStudent(Student aNewStudentObj) {
studs.add(aNewStudentObj);
}
public void displayStudent(int studentId) {
System.out.println(studs.get(studentId));
}
public void displayMarks(int studentId) {
Student marks = new Student();
marks.getModulesSortedByMarks(studentId);
}
public void deleteStudent(int studentId) {
studs.remove(studentId);
}
public void displayAll() {
for (Student student : studs) {
student.print();
System.out.println();
}
}
}
public void addStudent(){
经理学生列表=新经理();
studentList.addStudent();Q:传递给studentList.addStudent()的参数(如果有)是什么
答:这完全取决于“studentList”类的addStudent()
方法采用的参数
就你而言:
studentList
是一个管理器
(变量或类的名称都不好,但是..)
Manager.addStudent()
接受类类型为Student
的对象
调用addStudent
时,需要有一个类型为Student
的对象可用
代码中的一个挑战是,您目前无法为“学生”提供姓名或学生ID。这是一个问题
两种解决方案:
a) 为名称等创建“setter”方法
…和/或
b) 创建一个接受名称等作为参数的构造函数。私有列表studentList;
private List<Student> studentList;
public void addStudent(Student student) {
studentList.addStudent(student); // <-- What goes in those brackets?
}
private Student student;
private List<Student> studentList;
public void addStudent() {
studentList.addStudent(student); // <-- What goes in those brackets?
}
公立学校学生(学生){
addStudent(student);//要使代码正常工作,需要做几件事
根据我对你问题的理解,你的经理
班级维护所有与学生相关的数据
您应该只有一个Manager
类的实例。但是GUI
类的addStudent
方法每次调用时都会创建一个新的Manager
实例
接下来,您需要一种方法来创建具有属性所需值的Student
类的实例,例如firstname
、姓氏
等。您可以使用所有这些参数创建构造函数
最后,为了回答你问题中的问题,你需要创建一个Student
的实例,并将其传递给addStudent
Manager
类的method.“这些括号中有什么?”一个Student
的实例是的,没错。问:但是我们如何以及在哪里创建一个“Student”“object?如前所述,代码将向addStudent()传递一个“null”。我想你已经解决了它!现在还没有收到任何错误。干杯MaxYes,你是对的,我想向他解释,括号内应该放什么,@a.Shah我更改了代码,所以你有了更好的解决方案。欢迎你,如果我仍然帮助你:)。