如何产生功能性的LinkedList类?

SIHB007

作为作业的一部分,我必须产生一个称为Registry的LinkedList类。它旨在成为具有接口的简单学生注册系统的一部分。

不幸的是,我确实碰壁了,不知道下一步该怎么做。Registry类仅用于管理一个称为studentList的学生链接列表。

以下是我到目前为止所进行的当前的,但还不完整的课程。

import java.util.*;

public class Registry 
{
   LinkedList<Student> studentList;

   public Registry()
   {

   }

   public void addStudent(Student aStudent)
   {
      studentList.add(aStudent);
   }

   public void deleteStudent(int studentID)
   {
      studentList.remove(studentID);
   }

   @Override
   public String toString()
   {
      return getClass().getName() + 
   }

   public String format()
   {
      System.out.format(studentList);
   }
}

现在,我主要担心的是使用Student。作为作业的一部分,我必须制作另一个名为Student的类,该类创建Student的实例,其中包含形式,姓氏,Student ID和学位方案作为字符串。

我将如何使用该单独的类将其添加到Registry中实例化的LinkedList中?以及如何使Registry类完全发挥作用?

我将尝试根据要求提供任何其他详细信息。我可能不清楚,所以如果我愿意,请告诉我,我会尽力解释。

编辑:这是要求的学生班:

public class Student 
{
   private String foreName;
   private String surName;
   private String studentID;
   private String degreeScheme;

   public Student()
   {

   }

   public void setForeName(String foreName)
   {
       this.foreName = foreName;
   }

   public String getForeName()
   {
       return foreName;
   }

   public void setSurName(String surName)
   {
       this.surName = surName;
   }

   public String getSurName()
   {
       return surName;
   }

   public void setStudentID(String studentID)
   {
       this.studentID = studentID;
   }

   public String getStudentID()
   {
       return studentID;
   }

   public void setDegreeScheme(String degreeScheme)
   {
       this.degreeScheme = degreeScheme;
   }

   public String getDegreeScheme()
   {
       return degreeScheme;
   }

   @Override
   public String toString()
   {
       return getClass().getName() + "[foreName = " + foreName + " surName "
               + surName + " studentID " + studentID + " degreeScheme " 
               + degreeScheme + "]";
   }

   public void format()
   {
       System.out.format("%5s%20s%11s%20s", foreName, surName, studentID, degreeScheme);
   }
}
拉维·耶努古(Ravi Yenugu)
import java.util.Iterator;
import java.util.LinkedList;

public class Tester {
  public static void main(String[] args) {
    Registry r = new Registry();
    r.addStudent(new Student("13", "John", "Doe", "Physics")); // Add a student to the Registry
    r.addStudent(new Student("212", "Jane", "Bow", "Chem")); // Add another Student
    System.out.println(r); // Print the Student List

    r.deleteStudent(212); // Deletes student with ID 212
    System.out.println(r);
  }
}


class Student {
  private String studentID;
  private String foreName;
  private String surName;
  private String degreeScheme;

  public Student(String studentId, String foreName, String surName, String degreeScheme) {
    this.studentID = studentId;
    this.foreName = foreName;
    this.surName = surName;
    this.degreeScheme = degreeScheme;
  }

  public void setForeName(String foreName) {
    this.foreName = foreName;
  }

  public String getForeName() {
    return foreName;
  }

  public void setSurName(String surName) {
    this.surName = surName;
  }

  public String getSurName() {
    return surName;
  }

  public void setStudentID(String studentID) {
    this.studentID = studentID;
  }

  public String getStudentID() {
    return studentID;
  }

  public void setDegreeScheme(String degreeScheme) {
    this.degreeScheme = degreeScheme;
  }

  public String getDegreeScheme() {
    return degreeScheme;
  }

  @Override
  public String toString() {
    return getClass().getName() + "[foreName = " + foreName + " surName " + surName + " studentID "
        + studentID + " degreeScheme " + degreeScheme + "]";
  }

  public void format() {
    System.out.format("%5s%20s%11s%20s", foreName, surName, studentID, degreeScheme);
  }
}


class Registry {
  LinkedList<Student> studentList;

  public Registry() { // Creates studentList
    studentList = new LinkedList<>();
  }

  public void addStudent(Student aStudent) {
    studentList.add(aStudent);
  }

  public void deleteStudent(int studentID) {
    int index = searchList(studentID); // Gets index of the student in the Registry
    if (index == -1)
      throw new IllegalArgumentException("Student not found");
    // Since studentList is implemented as LinkedList, .remove removes element at specified position
    studentList.remove(index);
  }

  // Search by studentID , if found, return position in the list
  private int searchList(int studentID) {
    Iterator<Student> it = studentList.iterator();
    int count = -1;
    while (it.hasNext()) {
      count++;
      Student temp;
      temp = it.next();
      if (Integer.parseInt(temp.getStudentID()) == studentID) {
        return count;
      }
    }
    return -1;
  }

  @Override
  //Suggestions to improve the toString are welcome
  public String toString() {
    for (Student student : studentList) {
      student.format();
      System.out.println();

    }

    return "";
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章