package hangman;
import java.util.Random;
public class Dictionary {
int NUMBER_OF_WORDS = 81452;
public static String FILE_NAME = "dictionaryCleaned.txt";
private String[] dictionary = new String[NUMBER_OF_WORDS];
public string getRandomWord() {
Random rand = new Random();
return randWord;
}
}
我正在尝试从包含文本文件“dictionaryCleaned.txt”的数组中随机生成一个单词,以便我可以在单独的类中将随机单词返回到我的main方法。我觉得数组可能有问题,因为它似乎没有将文本文件加载到空数组空间中。我需要从“词典”中回复一个词,但这是在逃避我。
谢谢
答案 0 :(得分:2)
假设您遗漏了文件阅读部分,
我会在这里将Random()作为实例变量保存在这里。
private final Random random = new Random();
和
public String getRandomWord() {
return dictionary[random.nextInt(dictionary.length)];
}
答案 1 :(得分:0)
从词典中返回一个随机词很容易:
public String getRandomWord() {
final Random rand = new Random();
return dictionary[rand.nextInt(dictionary.length)];
}
但是你仍然需要编写代码来加载你的文字。
答案 2 :(得分:0)
考虑到词典引用已从字典文件中加载所有数据,然后加载随机字符串,您可以使用
String randomValue = dictionary[new Random().nextInt(dictionary.length)];
答案 3 :(得分:0)
您的getRandomWord
方法应为:
public String getRandomWord() {
Random rand = new Random();
int index = rand.nextInt(dictionary.length);
String randWord= dictionary[index];
return randWord;
}
答案 4 :(得分:0)
首先,您必须将单词加载到数组中。然后只有你可以从你的单词数组中得到一个随机单词。
所以你的代码应该是这样的 包刽子手;
import java.util.Random;
public class Dictionary {
int NUMBER_OF_WORDS = 81452;
public static String FILE_NAME = "dictionaryCleaned.txt";
private String[] dictionary = new String[NUMBER_OF_WORDS];
public void loadWordList(String fileName){
// write your logic to read the file and load them into the dictionary array
}
public String getRandomWord() {
Random rand = new Random();
return dictionary[rand.nextInt(NUMBER_OF_WORDS)];
}
}