2012-09-02 105 views
0

我是一个初学者的java程序员,我已经成功地创造出每行一个文件,并存储名称,它是在这种格式

名1
名2
NAME3

如何选择一个随机的名字并在打印?谢谢:)如何从文本文件中选择一个随机名称?

+0

我不知道从哪里开始,我已搜查谷歌和这里,但无法找到它。 – user1641312

+1

您是否尝试过通过一个基本的Java教程的学习,至少足以从文件中读取行?如果你不知道够不够,即使启动一个Java程序,它不会是建设性有人只写一个完整的方案给你。 (另外,就是这个功课?) –

+0

没有它不是功课,它的游戏IM与瞎搞和IM做彩票系统,它增加了他们的名字的文件,我需要另一种方法来选择一个随机的名字,我有使用java的一些经验,但从文件读取和写入不多。 – user1641312

回答

1

你可以把它全部读到一个字符串中,将它拆分成一个字符串数组并使用“数学”中的“random”生成pseodo随机数来选择一个间隔,或者你使用“randomAccessFile “上述sugestion只有最大随机将文件的长度,你将被迫寻找下一个空间来选择你想要的名称,也处理中,你选用的最后

1
String fileName = "...the path and name of your file...."; 
ArrayList<String> allNames = new ArrayList<String>(); 
Random r = new Random(); 

BufferedReader in = new BufferedReader(new FileReader(fileName)); 
while (in.ready()) { 
    allNames.add(in.readLine()); 
} 
in.close(); 

String randomName = allNames.get(r.nextInt(allNames.size())); 
一个位置的情况下
+0

非常感谢,但我怎样才能避免画一个空白的名字? – user1641312

+1

有几种方法。首先确保您的文件不包含空白喜欢,或添加加载从in.readline()到一个临时字符串,字符串,并检查它是否是空的。如果它不是空的,则将它添加到数组列表中。如果该行为空,则忽略该行。其他一切都应该正常工作。 –

相关问题