非常新的Java(只有几天学习)我正在寻找一个随机引用程序。我在quotes.txt文件中的单独行上有引号。我需要做的是抓取一条随机线并打印出来。
我认为步骤是首先确定文件中的行数,然后生成0到行数之间的随机数。然后转到文件中的那一行并打印出来。
我根本不知道如何真正开始(再次,请原谅我,Java新手)。非常感谢任何帮助。
答案 0 :(得分:2)
我要做的是创建一个ArrayList并在其中添加行。获取0和(ArrayList的大小 - 1)之间的随机数,并获取存储在该索引处的信息的值。我会留下代码供您试一试,但是当您发布已编写的代码时,我会帮助您。
答案 1 :(得分:1)
这是一个快速的想法。注意我还没有测试过这段代码。把它放在一起真的很快......这应该只适用于小文件。如果您需要处理更大量的数据,那么我建议您只需将文件读取到感兴趣的行(基于随机)并仅处理该行。此外,其他库可能特别有助于解决此问题(例如,Apache commons:FileUtils.readLines(file).get(indexNumber))
FileInputStream fs= new FileInputStream("quotes.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
ArrayList<String> array = new ArrayList<>();
String line;
while((line = br.readLine()) != null)
array.add(line);
// variable so that it is not re-seeded every call.
Random rand = new Random();
// nextInt is exclusive. Should be good with output for array.
int randomIndex = rand.nextInt(array.size());
// Print your random quote...
System.out.println(array.get(randomIndex));
答案 2 :(得分:0)
List
或array
。 Scanner或BufferedReader可以实现此目的。