我需要获取字符串randomWord以通过getWord()返回

    private static void setUpDictionary() throws IOException
{

    Scanner fileScan;
    String[] words = new String[25];

    fileScan = new Scanner (new File("dictionary.dat"));
    int n=0;
    while (fileScan.hasNext())
    {
        words[n] = fileScan.next();
        n++;
    }

    int rand = (int) (Math.random()*n);

    String randomWord = words[rand];
    System.out.println("TEST THIS IS RANDOM WORD ..." + randomWord);

    fileScan.close();
}

//Returns random word from dictionary array
private static String getWord()
{
    String word = randomWord ;
    return word;
}


任何想法如何使它起作用?

唯一的错误来自
String word = randomWord ;
因为randomWord不是getWord()中的字符串。

那么,如何使randomWord可用于getWord()?

编辑:
我不能更改任何现有的私有,它们必须保持私有。

最佳答案

您正在randomWord方法中将setUpDictionary()设置为新的String对象。相反,它应该是类的成员属性,以便可以在类范围内的其他方法中引用它。

例:

private static String randomWord;

private static void setUpDictionary() throws IOException {
    // ...
    randomWord = words[rand];
    // ...
}

private static String getWord() {
    return randomWord;
}

关于java - 用Java传递私有(private)字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16505371/

10-12 07:15