我有一个名为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);
。
答案 0 :(得分:2)
简单地:
AttendanceSystem identiferName = new AttendanceSystem(s);
然后使用setEmail
设置该对象的相关数据。
修改
您可能想要创建一个addAttendee
方法,该方法将ID
和Email
转换为LinkedList
类内的AttendanceSystem
。
public void addAttendee(String id, String email){
LinkedList<String> myList = new LinkedList<>();
myList.add(id);
myList.add(email);
this.student.add(myList);
}
注意 - 在这种情况下,你应该摆脱构造函数参数&amp;不要用它来添加任何ID或电子邮件。
考虑到你做了改变并考虑到你不想存储对新对象的引用,你可以这样称呼它:
new AttendanceSystem().addAttendee(id,email);