Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 随机生成单词并用通配符替换某些字符_Java_Regex - Fatal编程技术网

Java 随机生成单词并用通配符替换某些字符

Java 随机生成单词并用通配符替换某些字符,java,regex,Java,Regex,我想知道如何编写一个程序,随机生成单词,然后随机选取其中的一些单词,并将这些单词的随机字符替换为**表示通配符,可替换a-z中的任何字符。然后,这个txt文件将被用作测试我的主程序的示例,该程序目前运行良好。我将使用这个随机单词列表来测试程序使用二进制搜索和普通搜索需要多长时间 我不需要代码,只需要一个想法或一个例子来说明如何做到这一点。您可以创建如下随机单词: 对随机整数值使用方法Math.random()。 将这些int值转换为char值。 例如:charc=(char)65 为此,您必须阅

我想知道如何编写一个程序,随机生成单词,然后随机选取其中的一些单词,并将这些单词的随机字符替换为**表示通配符,可替换a-z中的任何字符。然后,这个txt文件将被用作测试我的主程序的示例,该程序目前运行良好。我将使用这个随机单词列表来测试程序使用二进制搜索和普通搜索需要多长时间


我不需要代码,只需要一个想法或一个例子来说明如何做到这一点。

您可以创建如下随机单词: 对随机整数值使用方法Math.random()。 将这些int值转换为char值。 例如:
charc=(char)65
为此,您必须阅读有关ASCII值的信息。(65投A)

我写了一个完整的例子,你可以使用

public class Test {

    private static String createWord(int wordlength) {
        String word = "";
        for (int i = 0; i < wordlength; i++) {
            int ran = (int) (Math.random() * 2);
            if (ran == 0)
                word += (char) (int) (Math.random() * 26 + 'A');
            else
                word += (char) (int) (Math.random() * 26 + 'a');
        }
        return word;
    }

    public static void main(String[] args) {

        System.out.println(createWord(8));
    }
}

欢迎来到堆栈溢出!看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是,包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(控制台输出、堆栈跟踪、编译器错误——任何适用的)。你提供的细节越多,你可能得到的答案就越多。不,我是在问一个想法或如何做,而不是给我一个代码。我想如果你能更清楚地定义你想让这个程序做什么,那么你可能会更清楚地知道如何编写它。你说它会随机生成单词是什么意思?它应该用空格来分隔随机字符的可变长度块,还是需要一个真正的单词字典来进行选择?我看到了regex标签,但是你认为regex会有什么帮助?为什么你说只有在挑选单词之后才用*字符替换字母,而不是在你挑选单词的时候?你可能对Xeger感兴趣。检查此处的已接受答案:
private static String replaceCharInWord(String word) {
    int random = (int) (Math.random() * word.length());
    System.out.println(random);
    int ran = (int) (Math.random() * 2);
    char newChar = ' ';
    if (ran == 0)
        newChar = (char) (int) (Math.random() * 26 + 'A');
    else
        newChar = (char) (int) (Math.random() * 26 + 'a');
    return word.substring(0, random) + newChar + word.substring(random + 1);
}