我正在製作一個遊戲,選擇一個隨機單詞並且用戶必須在少於7個錯誤中找到它,如果他犯了7個失敗的錯誤,如果他犯的錯誤少於7個錯誤,另一個單詞被給予並且他的錯誤被保留。最後給出分數。字典GUI中的隨機單詞
我有一個txt文件dictionnary,我wan't知道如何從中選擇一個單詞,並把它放在一個變量,則表明這個詞*隱藏在恆星在JLabel
謝謝你
我正在製作一個遊戲,選擇一個隨機單詞並且用戶必須在少於7個錯誤中找到它,如果他犯了7個失敗的錯誤,如果他犯的錯誤少於7個錯誤,另一個單詞被給予並且他的錯誤被保留。最後給出分數。字典GUI中的隨機單詞
我有一個txt文件dictionnary,我wan't知道如何從中選擇一個單詞,並把它放在一個變量,則表明這個詞*隱藏在恆星在JLabel
謝謝你
@HotLicks的意思是使用Random
類或Math.random()
,它們都可以創建一個隨機數。假設你想創建一個介於0和99之間的隨機數。你會這樣做
Random random = new Random();
int randIndex random.nextInt(100);
以上所做的是給你一個隨機指數。我們將使用這個隨機索引來選擇一個單詞。
不能真正得到這組字,你需要讓它們進入某種數據結構,所以你不必一直讀取文件。比方說,你的文件是這樣的,每一個字在自己的行
Abba
Zabba
Youre
My
Only
Friend
你想要做什麼是那些話存入像List
的數據結構。爲了你需要逐行讀取文件中的行,同時加入的每一行List
List<String> wordList = new ArrayList<String>();
try {
BufferedReader br = new BufferedReader(new FileReader("words.txt"));
String line;
while((line = br.readLine().trim()) != null) {
wordList.add(line);
}
} catch (IOException ex){
ex.printStackTrace();
}
現在wordList
擁有所有從你的文件的話。 randIndex
變量保存列表中的隨機索引。所以,你可以做
String randWord = wordList.get(randIndex);
當然,雖然在這個答案的改變第一段代碼,你需要知道列表的大小,然後才能決定隨機數應該做的人數達。所以,你填充列表後,你會做這樣的事情
Random random = new Random();
int randIndex = random.netInt(wordList.size());
所以每次你需要一個新字時,就產生一個新的隨機數,並使用該號碼從列表中該索引處得到一個字。
請參閱Basic I/O trail以獲得更多關於閱讀文件的幫助。
Peeskillet非常感謝你!這正是我所需要的,真的很有幫助,我對I/O基礎知識一無所知,所以我試圖理解BufferedReader,它做到了魔術!我仍然不知道爲什麼這被選爲offtopic並且有-1,謝謝你,你是最棒的 – FrankelStein
我建議使用隨機數發生器。 –
你是什麼意思? – FrankelStein
你還會如何選擇一個「隨機」字? (當然,訣竅在於找到一個完整的單詞,而不是從一個單詞開始,因爲這是隨機數給你帶來的地方,這就需要你將思考的肌肉發揮一點。) –