2017-05-02 5 views
1

私はAttendanceSystemというクラスがあります:私はこれを持っている私のメインで名前がわからない場合、クラスメソッドを呼び出すオブジェクトの名前を取得するにはどうすればいいですか?

LinkedList<LinkedList<String>> student = new LinkedList<LinkedList<String>>(); 

public AttendanceSystem(String s){ 
    student.add(new LinkedList<String>()); 
    student.get(student.size()-1).add(s); 
} 

public void setEmail(String d){ 
    student.get(student.size()-1).add(d); 
} 

を:

System.out.println("Please enter your ID."); 
String s = keyboard.nextLine();  
new AttendanceSystem(s); 

System.out.println("Please enter your Email."); 
String d = keyboard.nextLine(); 

私はオブジェクトに複数の要素を追加したいが、私はnew AttendanceSystem(s)を使用するので、私は知りません私が作成したオブジェクトの名前は、単にobjectname.setEmail(s)を行うことはできません。そのオブジェクトにメソッドを呼び出すにはどうすればよいですか?それとももっと良い方法がありますか?

スキャナを使用していますので、停止するように指示するまで自動的に新しいオブジェクトを追加できます。

更新日:

が私の今のメイン:私はリンクリスト内のすべてのオブジェクトを格納し

LinkedList<AttendanceSystem> list = new LinkedList<AttendanceSystem>(); 

System.out.println("Please enter your ID."); 
String s = keyboard.nextLine();  
list.add(new AttendanceSystem(s)); 

System.out.println("Please enter your Email."); 
String d = keyboard.nextLine();  
list.get(list.size()-1).setEmail(d); 

ので、私はちょうどこのlist.get(list.size()-1).setEmail(d);を行うことができます。単に

+3

理由だけではなく、変数に新しいオブジェクトを割り当てません: ' AttendanceSystem aSystem =新しいAttendanceSystem(s); '? –

+0

新しく作成された 'AttendanceSystem'への参照を保存しないのはなぜですか? – EpicPandaForce

+0

実際の質問は、コンストラクタが電子メールをパラメータとして受け取る場合にsetEmailを設定する必要がある理由です。 –

答えて

2

:その後、

AttendanceSystem identiferName = new AttendanceSystem(s); 

、そのオブジェクトに関連するデータを設定するsetEmailを使用しています。あなたは、単にAttendanceSystemクラス内LinkedListにそれを追加しIDEmailがかかりますaddAttendeeメソッドを作成することもできます

EDIT

public void addAttendee(String id, String email){ 
     LinkedList<String> myList = new LinkedList<>(); 
     myList.add(id); 
     myList.add(email); 
     this.student.add(myList); 
} 

ノート - この場合には、あなただけのコンストラクタパラメータ&を取り除く必要がありますは、任意のIDや電子メールを追加するためにそれを使用しないでください。

では、心の変化や、新しいオブジェクトへの参照を保存したくないことを考慮しない、あなたはこのようにそれを呼び出す:

new AttendanceSystem().addAttendee(id,email); 
+0

こんにちは。申し訳ありませんが、私はスキャナを使用しているので、私はそれを止めるまで新しいオブジェクトを自動的に追加し続けます。 –

+0

@ JohnP。私が推奨した解決策はまだ動作するはずですが、 'addAttendance'メソッドを作成する方が良いでしょう。 –

+0

IDと電子メールは、スキャナを使用して入力する必要があります。しかし、とにかく私は私の問題を解決しました。私は自分の投稿を更新しました。あなたが望めば見てみることができます。とにかくありがとう! –

関連する問題