java - 如何制作随机单词

标签 java

我正在做一个 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;
        }

    }
}

最佳答案

正如其他人所说,拿一本字典。 向您的浏览器询问单词列表站点。我在第一次搜索时找到了这个:http://www.md5this.com/tools/wordlists.html

将文件逐个元素加载到 ArrayList 中。

通过 int idx = new Random().nextInt(yourArray.size()); 获取随机索引

返回该索引处的单词并将其删除 String chosenWord = yourArray.remove(idx);

关于java - 如何制作随机单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342428/

相关文章:

java - HTTP GET 响应解析错误(空字符串?) - 但正文不为空

java - 尝试在分层模型中移动代理时出现 AnyLogic 错误

java - 如何深复制

java - 在 Java 中设置多个语句的执行时间

java - 在日志系统中分离生命周期事件的适当方法是什么?

java - linux 和 solaris 机器上的 jvm 之间的区别

java - 如何将 proto3 消息序列化为字符串并返回?

java - 从 VLC 命令行获取正在播放信息

java - Android 应用程序在 System.exit(0) 上重启;

java - 查找在参数方法中传递的对象的类型