学生列表.addStudent()的括号中有什么?

问题描述 投票:-2回答:3

因此,我有一个带有addStudent()方法的GUI类,该类旨在调用该方法:Manager类的addStudent(Student aNewStudentObj),然后创建Student类的对象使用用户输入的信息。然后,该对象应存储在Manager类中的“链表”中。

我的问题是,如果要在其中放置[[GUI类的addStudent()方法的括号,该怎么办?

我确实尝试了所有我能想到的一切,现在我正要脱发,因此,所有可能的帮助将不胜感激。请。

我相信所有必需的代码都在下面,但是如果您需要完整的

GUI

类,请告诉我。我也有一个[[Module类,但我认为这个问题不是必需的。以下[[GUI类中的[addStudent()方法]public void addStudent() { Manager studentList = new Manager(); studentList.addStudent(); <----------------- What goes in those brackets? }

Student下面的课程

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;

    }
}

<< [Manager

下面的类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(); } } }
java linked-list
3个回答
1
投票
studentListManager(变量或类的名称很差,但是..)

[Manager.addStudent()接受类类型为Student的对象。

    [调用Student时需要具有addStudent类型的对象。
  1. 您的代码面临的挑战之一是,您目前无法为“学生”提供姓名或学生ID。这是个问题。
  2. 两种解决方案:

  • a)为名称等创建“ setter”方法。

    ...和/或...

  • b)创建一个接受名称等作为参数的构造函数。

    您需要做几件事才能使代码正常工作。


  • 1
    投票

    private Student student; public void addStudent() { Manager studentList = new Manager(); studentList.addStudent(student); // <-- What goes in those brackets? }

    © www.soinside.com 2019 - 2024. All rights reserved.