首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java小学生招生系统

Java小学生招生系统
EN

Stack Overflow用户
提问于 2013-03-17 07:47:17
回答 3查看 1.7K关注 0票数 0

我必须设计一个小的课后俱乐部管理系统与图形用户界面(这已经设计在开始)。系统应该执行一些功能:-添加一个学生,-添加一个俱乐部,-将一个学生添加到一个指定的俱乐部。当用户点击一个俱乐部时,它应该列出所有在俱乐部注册的学生。另一方面,当用户点击一个学生时,它应该列出该学生注册的所有俱乐部。前两个函数已完成并正常工作。然而,我正在努力将一个学生添加到指定的俱乐部。

EN

回答 3

Stack Overflow用户

发布于 2013-03-17 09:08:44

基于给定的标准,

对该方法的一个给出的评论是:(1)俱乐部和(2)学生必须已经被添加到数据库中,以及(3)学生必须以前没有被添加到俱乐部。如果不满足这些条件,则该方法不应执行任何操作并返回false。如果满足这些条件,则将该学生添加到球杆中,并且该方法返回true。

代码语言:javascript
复制
public boolean addPupilToClub(String clubName, String firstName, String lastName) {
    String studentID = firstName + " " + lastName;
    if (clubs.indexOf(clubName) == -1   // (1) the clubName  does not exist
        || pupils.indexOf(studentID) == -1)  // (2) OR the pupil does not exist {
          return false;
    } 

    //the rest is pseudo code

    else if (<<(3) the specified club already contains the student>>) {
          return false;
    } else { 
      //student never added to the club before
          <<insert code that adds student to club>>

          //additional check whether club is already included in master list (say, pupilsInClub?)
          //if not, add club to master list

          return true;
    }
}

理想情况下,如果您想打印出俱乐部及其学生的列表,应该有一个俱乐部(包含学生)的主列表,比如List<Club>类型的pupilsInClub。然后,您可以遍历pupilsInClub,并针对每个俱乐部,利用类Club中的某些方法来转储其学生。

注意:您还必须确保还没有在pupilsInClub中添加俱乐部A。如果俱乐部A已经存在于pupilsInClub中,只需将新的学生添加到俱乐部A。否则,您还必须将俱乐部A添加到pupilsInClub

票数 1
EN

Stack Overflow用户

发布于 2013-03-17 07:53:34

您可能应该在Club类中维护一个Pupil列表。所以在Club内部

代码语言:javascript
复制
private List<Pupil> pupils;

以及将Pupil添加到此列表的方法:

代码语言:javascript
复制
public void addPupil(Pupil p) {
    pupils.add(p);
}

addPupilToClub方法中,这就是如何将Pupil添加到Club

代码语言:javascript
复制
Club c = new Club(clubName);
Pupil p = new Pupil(firstName, lastName);
c.addPupil(p);

记得初始化pupils,也许是在Club构造函数内部。

票数 0
EN

Stack Overflow用户

发布于 2013-03-17 08:05:45

我认为在addPupilToClub中使用这么大的if条件可能会让你自己感到困惑。将其分解为嵌套语句将允许您对每个语句进行注释:

代码语言:javascript
复制
public boolean addPupilToClub(String clubName, String firstName, String lastName) {
    if (clubs.indexOf(clubName) != -1) {   // the clubName exists
        if (pupils.indexOf(firstName + " " + lastName) != -1) { // the pupil exists
            if (newList.indexOf(firstName + " " + lastName)==-1)) {  // the pupil isn't in newList
                Club c=new Club(clubName);
                Pupil p = new Pupil(firstName,lastName);
                newList.add(p.getFullName());
                pupilsInClub.add(newList);
                removeDuplicates();
                System.out.println(pupilsInClub);

一旦我们这样做了,我认为很容易看到,在你发现俱乐部和学生已经存在之后,你正在创建一个新的俱乐部和一个新的学生。这看起来像是个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15456058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档