0

GUIを使って小さな放課後クラブ管理システムを設計する必要があります(これは最初に設計されました)。システムはいくつかの機能を実行する必要があります。-瞳孔を追加する、-クラブを追加する、-指定されたクラブに瞳孔を追加する。ユーザーがクラブをクリックすると、クラブに登録されているすべての生徒が一覧表示されます。一方、ユーザーが生徒をクリックしたときに、学生が登録しているすべてのクラブをリストする必要があります。最初の2つの機能は実行され、正しく機能します。しかし、私は特定のクラブに生徒を追加するのに苦労しています。

4

3 に答える 3

1

与えられた基準に基づいて、

その方法に関する所与のコメントは次のとおりです。(1) クラブと (2) 生徒は既にデータベースに追加されている必要があり、(3) 生徒は以前にクラブに追加されていてはなりません。これらの条件が満たされない場合、メソッドは何もせずに false を返す必要があります。それらが満たされている場合、生徒はクラブに追加され、メソッドは true を返します。

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;
    }
}

理想的には、クラブとその生徒のリストを印刷したい場合、pupilsInClubタイプ のクラブ (生徒を含む) のマスター リストが存在する必要がありList<Club>ます。pupilsInClub次に、クラブごとに繰り返し、クラス内のメソッドを使用Clubしてその生徒をダンプできます。

A注: クラブがまだ に追加されていないことも確認する必要がありますpupilsInClub。クラブ A が既に に存在する場合はpupilsInClub、新しい生徒をクラブ A に追加するだけです。それ以外の場合は、クラブ A を にも追加する必要がありますpupilsInClub

于 2013-03-17T01:08:44.160 に答える
0

おそらく、クラスPupil内のリストを維持する必要があります。ClubだからClub:の中に

private List<Pupil> pupils;

そして、Pupilこのリストに追加する方法:

public void addPupil(Pupil p) {
    pupils.add(p);
}

そして、メソッドでは、これはあなたが:にaddPupilToClubを追加する方法です:PupilClub

Club c = new Club(clubName);
Pupil p = new Pupil(firstName, lastName);
c.addPupil(p);

pupilsコンストラクター内で、Clubおそらく初期化することを忘れないでください。

于 2013-03-16T23:53:33.793 に答える
0

ifでこのような大きな条件を使用すると、混乱する可能性があると思いますaddPupilToClub。ネストされたステートメントに分割すると、それぞれにコメントを付けることができます。

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);

これを行うと、クラブと生徒が既に存在することを発見した後、新しいクラブと新しい生徒を作成していることを簡単に確認できると思います。それは間違いのようです。

于 2013-03-17T00:05:44.737 に答える