Vit*_*nko 1 java random file line
我正在尝试创建一种方法,可以选择 lol.txt(有 113 行)中的随机行并将其作为消息框发送出去。它应该如何工作:
在我的情况下,第 2 步不起作用,所以我希望有人能对此提出建议。这是代码:
public void close(){
try{
Random random = new Random();
int randomInt = random.nextInt(112);
FileReader fr = new FileReader("lol.txt");
BufferedReader reader = new BufferedReader(fr);
String line = reader.readLine();
Scanner scan = null;
for (int i = 0; i < randomInt + 1; i++) {
scan = new Scanner(line);
line = scan.nextLine();
}
JOptionPane.showMessageDialog(null,line);
}catch (IOException e){
JOptionPane.showMessageDialog(null,e.getMessage()+" for lol.txt","File Error",JOptionPane.ERROR_MESSAGE);
}
}
Run Code Online (Sandbox Code Playgroud)
如果您想将带有数组列表的解决方案发送给我,那很好,但我真的希望它是我最初计划的方式。
最好为此目的使用列表,并使随机大小动态调整以适应文件的大小。如果您想添加更多行而无需更改代码。
BufferedReader reader = new BufferedReader(new FileReader("lol.txt"));
String line = reader.readLine();
List<String> lines = new ArrayList<String>();
while (line != null) {
lines.add(line);
line = reader.readLine();
}
Random r = new Random();
String randomLine = lines.get(r.nextInt(lines.size()));
JOptionPane.showMessageDialog(null,randomLine);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8886 次 |
最近记录: |