我遇到一个循环的问题。这个循环,如何在不同的值中循环并在标签上显示所有的值,而不是在标签上显示数组的最后一个值?
下面这段代码是刚从你的截图中复制过来的,其中有一个小错误。
sinhvien sv = new sinhvien();
sv.setdata("CC",12);
sv.setdata("CL",14);
sv.setdata("CCCL",16);
s1.add(sv);
因为你只创建了一个sv的实例,并且设置了3次值。 值CCCL覆盖了之前所有的两个值。
sv.setdata("CCCL",16);
所以,在这一行
s1.add(sv);
你实际上只在数组列表中添加了一个sinhvien实例。
调试。检查数组列表的大小,这将给你一些线索,为什么你会有这种行为。在循环之后使用下面的代码。
//Code to get ArrayList size
System.out.println(sv1.size());
当向ArrayList中添加项目时,确保每个项目都有一个新的sinhvien实例。
请尝试下面的代码。
sinhvien sv = new sinhvien();
sv.setdata("CC",12);
sv1.add(sv);
sv = new sinhvien();
sv.setdata("CL",14);
sv1.add(sv);
sv = new sinhvien();
sv.setdata("CCCL",16);
sv1.add(sv);
注意:把上面的代码替换到jButton1ActionPerormed方法里面和for循环之前。这不是循环的问题,而是赋值的问题。这是赋值问题。