import java.util.Random;
import java.util.*;public class week {
int Year ,Month, Day;
String Date;
static Vector vt = new Vector();
Random r = new Random();
public void setDate()
{
this.Year =Math.abs(r.nextInt()%200)+1900;
this.Month =Year%12+1;
this.Day =Year%30+1;
this.Date =Year+"-"+Month+"-"+Day;
}
public void printDate(){
System.out.println("总共有"+vt.size());
for(int i=0;i<vt.size();i++){
this.Date=(String)vt.get(i);
System.out.println(this.Date);
//System.out.println(this.Date);
//System.out.println("===");
}
}
public static void main(String[] args){
week w = new week();
for(int i=0;i<10;i++){
try{
w.setDate();
vt.add(i,w.Date);
//w.printDate();
//System.out.println("目前有"+vt.size()+"个对象");
}
catch(Exception e)
{
System.out.println("add error "+e.getMessage());
}
}
w.printDate();
}
}
import java.util.*;public class week {
int Year ,Month, Day;
String Date;
static Vector vt = new Vector();
Random r = new Random();
public void setDate()
{
this.Year =Math.abs(r.nextInt()%200)+1900;
this.Month =Year%12+1;
this.Day =Year%30+1;
this.Date =Year+"-"+Month+"-"+Day;
}
public void printDate(){
System.out.println("总共有"+vt.size());
for(int i=0;i<vt.size();i++){
this.Date=(String)vt.get(i);
System.out.println(this.Date);
//System.out.println(this.Date);
//System.out.println("===");
}
}
public static void main(String[] args){
week w = new week();
for(int i=0;i<10;i++){
try{
w.setDate();
vt.add(i,w.Date);
//w.printDate();
//System.out.println("目前有"+vt.size()+"个对象");
}
catch(Exception e)
{
System.out.println("add error "+e.getMessage());
}
}
w.printDate();
}
}
以上仅为个人看法,我的Java也是刚刚入门,还请真正的高手指点指点!
for(int i = 0; i < 100; i++) {
Random r = new Random();
System.out.println("i="+i+" "+System.currentTimeMillis()+" "+(r.nextInt()%200));
}
先想一下结果,再试一下,你可能就会发现你的程序问题所在了. 在慢的机器上...
把你的: for(int i=0;i<10;i++) 改成 while(vt.size() < 10) ...
突然明白了,需要System.gc();哈,谢谢指点