我想写一个for循环插入10万条数据,其中性别想随机插入Male或者Female。age随机生成1-99的int数值。怎么搞?
C#中:
Random random = new Random();
random.NextInt(1,99);//1-99的随机数
Male or Female可以用
random.NextInt(1,2);//1:Male,2:Female
差不多这个意思
String sex[]={Male,Female};
Random random=new Random();
for(int i=0;i<100000;i++)
{
int s=random.next(2);
int age=random.next(99)+1;
String randsex=sex[s];
//然后执行插入操作
//性别是 sex[s], 年龄是aga
//nextint(int n) 表示产生0-n 的随机整数 ,包括0 但不包括 n
}
年龄分布不是均匀的,一个美国保险业学者1940年代的论文大致估算了一个模型,人口死亡率从30岁生育高峰,每10年提高一倍,据此你应该用一个指数函数发生器代入随机数发生器才能得到仿真的样本。
参考下面的代码吧。
public static void main(String[] args) {
String[] sex = { "Male", "Famale" };
int age = 0;
int sexIndex = 0;
Random random = new Random();
for (int i = 0; i < 100000; i++) {
sexIndex = random.nextInt(2);
age = random.nextInt(99) + 1;
System.out.println("性别:" + sex[sexIndex] + ";年龄:" + age);
// 写插入语句即可,根据你的代码自己改下即可
// 例如:insert into table_name values(sex[sexIndex],age);
}
}
楼上的已经完美解决了。