2016-11-21 7 views
-2

私は、ゴルファーをメンバーリストに追加するためのJavaプログラムを作成するプロジェクトを大学で行っています。私はそれらをリストに追加することに問題があります!メンバーを保存するにはどうすればいいですか?

これは、これまでの私のコードです:

*import java.util.*; 
public class GolfClubTester { 
    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     // TODO code application logic here 
      System.out.println("Please enter number for:"); 
      System.out.println("1: Joining Member:"); 
      System.out.println("2: Remove an old Member:"); 
      System.out.println("3: Search for a Member:"); 
      System.out.println("4: View all"); 
      //Ask User for input 
      Scanner input = new Scanner(System.in); 
      int i = input.nextInt(); 

       if(i == 1){ 
        //Clear scanner input buffer 
        input.nextLine(); 
        System.out.println("Please enter Members name:"); 
        String name = input.nextLine(); 
        System.out.println("Please enter day:"); 
        int day = input.nextInt(); 
        System.out.println("Please enter month"); 
        int month = input.nextInt(); 
        System.out.println("Please enter year:"); 
        int year = input.nextInt(); 
        System.out.println("Please enter Handicap:"); 
        int Handicap = input.nextInt(); 
        System.out.println("Please enter Id:"); 
        int MemId = input.nextInt(); 

        //Clear scanner input buffer 
        input.nextLine(); 
        //Ask user type of Member 
        System.out.println("Please enter type of Member:"); 
        System.out.println("1 - Senior:"); 
        System.out.println("2 - Junior:"); 
        int i1 = input.nextInt(); 
         if (i1 == 1){ 
          //Create member object 
          Date join1 = new Date(day,month,year); 
          SeniorMembers s1 = new SeniorMembers(name,join1,Handicap,MemId); 
          //Display member details 
          System.out.println("**Senior Member has joined**"); 
          System.out.println(s1); 
          return; 
         } 
         else if (i1 == 2){ 
          Date join1 = new Date(day,month,year); 
          JuniorMembers j1 = new JuniorMembers(name,join1,Handicap,MemId); 
          //Display member details 
          System.out.println("**Junior Member has joined**"); 
          System.out.println(j1); 
         } 
         else{ 
        throw new IllegalArgumentException("Invalid input:"); 

        } 
       }* 

だから私はそれはメンバーが参加したが、それは実際にメンバーを保存していないと言うことを得ることができます。誰も助けて、私が逃しているものを教えてくれる?

+0

あなたはどこかのメンバーのリストや配列を持っていて、新しいメンバーをそのリストに追加する必要があります。 – David

+1

最初に 'List'を作成してください。 – MordechayS

+0

私はこれをどのようにすることができるかの例を私に見せてもらえますか?申し訳ありませんが、非常に弱い – Greatham29

答えて

0
ArrayList<SeniorMember> seniorMembersList = new ArrayList<>(); 
ArrayList<JuniorMember> juniorMembersList = new ArrayList<>(); 

public static void main(String[] args) { 
    // TODO code application logic here 
     System.out.println("Please enter number for:"); 
     System.out.println("1: Joining Member:"); 

     ....... 

        if (i1 == 1){ 
         //Create member object 
         Date join1 = new Date(day,month,year); 
         SeniorMembers s1 = new SeniorMembers(name,join1,Handicap,MemId); 
         // 
         //Adding here 
         // 
         seniorMembersList.add(s1); 
         //Display member details 
         System.out.println("**Senior Member has joined**"); 
         System.out.println(s1); 
         return; 
        } 
        else if (i1 == 2){ 
         Date join1 = new Date(day,month,year); 
         JuniorMembers j1 = new JuniorMembers(name,join1,Handicap,MemId); 
         // 
         //Adding here 
         // 
         juniorMembersList.add(j1); 
         //Display member details 
         System.out.println("**Junior Member has joined**"); 
         System.out.println(j1); 
        } 

これらのメンバーオブジェクトにアクセスするには、seniorMembersList.get(position);を使用します。

+1

これは主な方法です...オブジェクトをインスタンス化するのを忘れないでください! –

+0

実装ではなく、インターフェイスを使用してください: 'List juniorMembersList = new ArrayList <>();' – bradimus

+0

彼は抽象を学ばせようとしません。 List <>;を使用してください) –

0

また、私はあなたがすべてのコメントと回答からそれを得て、リストにインスタンスを保存できると思います(例えば、ArrayList<String>)。

プログラムがmainメソッドであるため、リストはこのメソッドでインスタンス化する必要があります。

ヒント:実装をさらに進める場合は、よりオブジェクト指向のアプローチを使用してください。

+0

すべての返信をありがとう、私はそれを動作させるのに十分であると思います! – Greatham29

+0

実際に私のコードを見れば、ユーザーは選択できる2,3,4のオプションがありますが、私はこのビットを遠くに持っているかもしれませんが、自分のコードも間違っていると思います!それらの部分のコードを作成するためのヒントはありますか?それがあまりにも多くのことを聞いていない場合は? – Greatham29

+0

@ Greatham29では、オブジェクトがリストで管理できるように、クラス 'SeniorMember'と' JuniorMember'の 'equals'関数を実装することを検討してください。 (ところで、すべてのメンバーに対して1つのリストだけを使用することもできます)。次に、1> add、2> remove、3> contains、4> toStringのように見えます。 –

関連する問題