我正在组建Java型教师(教授打字)。我需要生成将被赋予类型的随机单词。我制作了一个程序来生成随机单词,但它只生成没有任何意义的随机单词,但我想生成真正的单词。
实现这一目标的最佳方式是什么?
import java.util.Random;
public class Generator {
private String CHAR_LIST = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private int No_Of_Chars = 2;
public Generator(String CHARS, int No_Of_Char) {
No_Of_Chars = No_Of_Char;
CHAR_LIST = CHARS;
}
public String RandomString() {
String randStr = "";
for (int i = 0; i < No_Of_Chars; i++) {
int number = getRandomNumber();
char ch = CHAR_LIST.charAt(number);
randStr = randStr + ch;
}
return randStr;
}
private int getRandomNumber() {
int randomInt = 0;
Random randomGenerator = new Random();
randomInt = randomGenerator.nextInt(CHAR_LIST.length());
if (randomInt - 1 == -1) {
return randomInt;
} else {
return randomInt - 1;
}
}
}
答案 0 :(得分:3)
正如其他人所说的那样得到一本字典。 向您的浏览器询问单词列表网站。我在第一次搜索时找到了这个:http://www.md5this.com/tools/wordlists.html
将文件加载到ArrayList中,逐个元素。
按int idx = new Random().nextInt(yourArray.size());
获取随机索引。
在该索引处返回该字词并将其删除String chosenWord = yourArray.remove(idx);
答案 1 :(得分:1)
(3)是唯一需要思考的步骤:使用java.util.Collections#shuffle
答案 2 :(得分:0)
这里你最好的选择是创建一个单词列表。接下来,您将从此列表中随机选择单词,供学生输入。