java - 有没有办法使用 Scanner 类 inputFile.nextLine()); 但是选择是随机的吗?
问题描述
我希望我的代码从我的文本文件中随机选择一行。
if (character == 1) {
Scanner inputFile = new Scanner(generalcharacters);
System.out.println("Your character is " + inputFile.nextLine());
}
现在我只能弄清楚如何让它读取文本文件的“下一行”,但该行每次运行都会输出相同的内容。我怎样才能使这个选择随机?
我已经浏览了如何在 Java 中获取文本文件的随机行?几次,它对我不起作用。我尝试使用他们的方法,它打印出文件的几行而不是一行。
当我尝试使用
if (character == 1) {
String result = null;
Random rand = new Random();
int n = 0;
for(Scanner sc = new Scanner(fictionalcharacters); sc.hasNext(); )
{
++n;
String line = sc.nextLine();
if(rand.nextInt(n) == 0)
result = line;
System.out.println(line);
}
}
它打印出整个字符列表,而不仅仅是一个。
解决方案
推荐阅读
- android - SYSTEM_UI_FLAG_LAYOUT_STABLE 标志在 Android R 中已弃用
- mysql - mysql - 当精度为 24 或 25 时,FLOAT 存储大小从 4 字节切换到 8 字节?
- django - 空的python请求正文
- android - 如何将浮动放在bottomAppBar的开头
- firebase - TypeError: Object(...) is not a function at FirebaseCrashlytics.initialise
- excel - 在一张新工作表中收集来自多个工作表的数据
- android - 如何只选择 GIF 文件
- karate - 使用空手道测试 Hessian RPC 请求的最佳实践
- reactjs - redux 中的状态发生了变化,但组件中没有更新
- node.js - 使用nodejs将数据保存到mongodb