【发布时间】:2013-11-15 13:06:42
【问题描述】:
我在这里尝试将对象添加到向量并从向量中取回元素。 在 for 循环向量内给出了所有 3 个对象的详细信息。 但我想在循环之外获取对象。但它只给出了第三个对象的详细信息。
static Vector<Student> vector = null;
static Student student= null;
public static void AskStudentDetails(){
Scanner input = new Scanner(System.in);
student = new Student();
vector = new Vector<Student>();
for(int i=0; i<MAX_STUDENT; i++){
System.out.print("Coursework 01 Marks : ");
student.setCoursework1(input.nextInt());
vector.addElement(student); //add object to the vector
Student mm = vector.elementAt(0);
System.out.println(mm.getCoursework1());
}
input.close();
student = vector.elementAt(1);//assign to the object student
System.out.println(student.getCoursework1()); // always print only the value of third object
}
学生.class 公共类学生实现 java.io.Serializable {
private int coursework1;
public int getCoursework1() {
return coursework1;
}
public void setCoursework1(int coursework1) {
this.coursework1 = coursework1;
}
}
【问题讨论】:
-
您每次都在添加对同一个
Student对象的引用。将student = new Student()移动到循环内 - 并使其成为局部变量,理想情况下......这个问题是许多其他问题的欺骗,但我现在没有精力找到它们......