import java.util.*;
class testt{
static Vector one=new Vector();
static Vector sub=new Vector();
public testt()
{
sub.add("val");
sub.add("");
}
static void addval()
{
for(int i=0;i<10;i++)
{
sub.setElementAt(i+"",1);
one.add(sub);
}
int i=one.size();
while(i>0)
{
System.out.println( ((Vector)one.elementAt(i-1)).elementAt(1).toString() );
i--;
}
}
public static void main(String[] args)
{
testt t=new testt();
t.addval();
}
}
在下打印出来的结果,全部为9;
在下希望的结果应该是0到9;compile-single:
run-single:
9
9
9
9
9
9
9
9
9
9
生成成功(总时间:1 秒)请问题,为何会全是9呢?应该如何实到打印出来的值是0到9,谢谢!!!
class testt{
static Vector one=new Vector();
static Vector sub=new Vector();
public testt()
{
sub.add("val");
sub.add("");
}
static void addval()
{
for(int i=0;i<10;i++)
{
sub.setElementAt(i+"",1);
one.add(sub);
}
int i=one.size();
while(i>0)
{
System.out.println( ((Vector)one.elementAt(i-1)).elementAt(1).toString() );
i--;
}
}
public static void main(String[] args)
{
testt t=new testt();
t.addval();
}
}
在下打印出来的结果,全部为9;
在下希望的结果应该是0到9;compile-single:
run-single:
9
9
9
9
9
9
9
9
9
9
生成成功(总时间:1 秒)请问题,为何会全是9呢?应该如何实到打印出来的值是0到9,谢谢!!!
one.add(sub);你每次都在add一个同样的sub哦,应该重新构建一个
static void addval() {
for (int i = 0; i < 10; i++) {
sub = new Vector();
sub.add("val");
sub.add("");
sub.setElementAt(i + "", 1);
one.add(sub);
}
不用循环遍历
Vector a = new Vector();
System.out.println(a);
import java.util.*;
class Test{
static Vector one=new Vector();
static Vector sub=new Vector();
public Test() { } ;
static void addval()
{
for(int i=0;i <10;i++)
{
sub=new Vector();
sub.add("val");
sub.add("");
sub.setElementAt(i+"",1);
one.add(sub);
}
System.out.println(one);
}
public static void main(String[] args)
{
Test t=new Test();
t.addval();
}
}