我有一个文本文件,我想随机选择一个字符串。有一些代码,但它无法正常工作
File file = new File("name.txt");
Scanner scanner = new Scanner(file);
Random random = new Random();
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] s = {line};
int select = random.nextInt(s.length);
System.out.println(s[select]);
如果我这样做,它打印整个文件,没有任何随机方法。我错过了什么吗?
答案 0 :(得分:1)
好吧,随机选择一条线你有两个选择:
random.nextInt(100)
从0到99绘制一个数字,然后如果该数字小于10,则选择该行(10%偶然)。如果在拾取行之前文件用完了行,您可以恢复到解决方案#1(因为您现在已经读取了所有行),或者只是选择最后一行读取(它避免存储所有先前读取的行)。