這裏是方向:
創建一個RandomString
類並實現如下:
創建一個名爲guess_phrases.txt的文件,其中包含要在Hangman遊戲中猜中的短語。這個文件每行有一個猜測短語。
一個構造函數,它接收文件的名稱以獲取字符串值。構造函數應該讀取文件中的短語並存儲起來以備後用。
從文件返回隨機字符串值的方法;在使用文件中的所有猜測短語之前,不應重複此值。
創建,測試,明年一個主要方法是通過反覆調用next &打印結果正常工作 - 你不應該有任何重複,和短語不應該在同一順序的文件中。
我用隨機短語創建了一個名爲guess_phrases.txt的文件。當我運行這個時,我得到一個錯誤,也沒有隨機打印,爲什麼這是?我怎樣才能解決這個問題 ?
錯誤 異常在線程 「主」 java.lang.IllegalArgumentException異常:n必須是正
at java.util.Random.nextInt(Unknown Source)
at RandomString.next(RandomString.java:32)
at RandomString.main(RandomString.java:40)
這是我在RandomString類
public class RandomString {
Random random = new Random();
ArrayList<String> guessPhrases = new ArrayList<String>();
Scanner fileScan;
public RandomString(String guessPhrases) throws FileNotFoundException {
// create a Scanner object to read from the file
fileScan = new Scanner(new File("guess_phrases.txt"));
// add all of the phrases from the file into the ArrayList
while (fileScan.hasNext()) {
String line = guessPhrases.nextLine(); // get input
System.out.println(line); // print line
guessPhrases.add(line); // add line to array list
}
}
public String next() {
int i = random.nextInt(guessPhrases.size());
return guessPhrases.get(i);
}
public static void main(String[] args) {
}
}
那你的[完全同樣的問題(http://stackoverflow.com/questions/13817886/java-randomstring-class)? – Kai