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我更改了代码,所以你有了更好的解决方案。欢迎你,如果我仍然帮助你:)。