2012-09-02 140 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()到一個臨時字符串,字符串,並檢查它是否是空的。如果它不是空的,則將它添加到數組列表中。如果該行爲空,則忽略該行。其他一切都應該正常工作。 –

相關問題