使用java编写一个程序, 生成一个随机数据文件data.csv,模拟游戏中5个英雄1v1对战的数据 data.csv总共100行4列,每行代表一局对战里两个英雄的名字和这两个英雄的分数 data.csv有4列分别为: 英雄1 英雄分数1 英雄2 英雄分数2 其中: 英雄1,英雄2是 [刘备,关羽,张飞,孙尚香,曹操] 这5个英雄名字中的随机一个,每行英雄1,英雄2 不能重复4英雄分数1,英雄分数2 为 0-9的随机整数,每行可以重复
时间: 2024-04-13 10:25:59 浏览: 103
可以使用以下代码来生成一个随机数据文件 `data.csv`:
```java
import java.io.FileWriter;
import java.io.IOException;
import java.util.Random;
public class RandomDataGenerator {
public static void main(String[] args) {
try {
FileWriter writer = new FileWriter("data.csv");
writer.write("英雄1,英雄分数1,英雄2,英雄分数2\n");
String[] heroes = {"刘备", "关羽", "张飞", "孙尚香", "曹操"};
Random random = new Random();
for (int i = 0; i < 100; i++) {
String hero1 = heroes[random.nextInt(5)];
String hero2 = getRandomHero(heroes, hero1);
int score1 = random.nextInt(10);
int score2 = random.nextInt(10);
writer.write(hero1 + "," + score1 + "," + hero2 + "," + score2 + "\n");
}
writer.close();
System.out.println("data.csv 文件已成功生成。");
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getRandomHero(String[] heroes, String exclude) {
Random random = new Random();
String hero = heroes[random.nextInt(5)];
while (hero.equals(exclude)) {
hero = heroes[random.nextInt(5)];
}
return hero;
}
}
```
运行上述代码后,会在当前目录下生成一个名为 `data.csv` 的文件,包含了随机生成的数据。
请注意,此代码中的 `FileWriter` 和 `IOException` 需要进行异常处理,你可以根据实际情况进行适当修改。另外,代码中使用了 `getRandomHero()` 方法来确保每行的英雄1和英雄2不重复。
希望这个程序能够满足你的需求!如有其他问题,请随时提问。
阅读全文