2013-12-03 84 views
0

我遇到了從數組中啓動隨機單詞的問題。我不確定如何引用arraylist這個詞來從中讀取。有人能讓我在getRandomWord類的正確方向嗎?謝謝!數組列表中的隨機詞

getRandomWord方法,它不需要任何輸入,並從單詞中返回一個隨機字符串。請記住,您可以使用Random類來執行此操作。

import java.io.*; 
import java.util.*; 
import java.util.Random; 

public class WordList{ 

    private ArrayList<String> words; 

    //Construct String from file 
    public static void constructor(String filename) throws IOException{ 

    ArrayList words = new ArrayList(); 
    BufferedReader read = new BufferedReader(new FileReader("filename")); 
    String line = read.readLine(); 


    while (line != null){ 
     words.add(line); 
     //line = reader.readline(); 
    } 
    } 

    public static void getRandomWord(){ 
Random rand = new Random(); 
String randomWord = words.get(rand.nextInt(words.size)); 
} 
} 
+0

數組所以你想從一個文件,並輸出一個隨機單詞? – answerSeeker

+0

不能從靜態方法(例如'getRandomWord()')引用成員變量(例如「單詞」)。將「單詞」聲明爲靜態或從方法簽名中除去「靜態」關鍵字。 –

+0

你應該使用類似於: int rand = minimum +(int)(Math.random()* maximum); –

回答

2

這將幫助你,我覺得這是能夠得到一個隨機單詞從串

private static String[] names = { "Terminator", "Slicer","Ninja", "cow", "Robot", "littlegirl" }; 
name = names[(int) (Math.random() * names.length)]; 
System.out.println(name); 
+0

明白了!謝謝@tatakai wasumi – user3062703

+0

沒問題。我希望您的問題是固定的 – answerSeeker

+0

@ user3062703您應該點擊選中標記,以表明這個答案解決你的問題。 –