我有一个代码来检查字符串中是否有三个相同的连续辅音。看起来像这样:

    String cons = "bcdfghjklmnpqrstvwxyz";
    char[] consonants = cons.toCharArray();

        int z = 0;
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter your word!");
        String word = scan.next().toLowerCase();
        int length = word.length();
        char[] ch = word.toCharArray();
        for (int i = 0; i < length-2; i++) {
            for (int j = 0; j < 21; j++) {
                if ((ch[i] == consonants[j]) &&
                        (ch[i + 1] == consonants[j])
                        && (ch[i + 2] == consonants[j])) {
                    z++;
                    break;
                }
            }
            if (z == 1)
                break;
        }
        if (z == 1) {
            System.out.println("Three consecutive consonants here!");
        } else {
            System.out.println("It is fine!");
        }


但我想检查三个连续的辅音。查找类似圣诞节,乡村,孩子,学校等的单词。

而且不确定如何更改此代码以执行此操作。你能帮我吗?

最佳答案

我认为,解决此问题的最佳方法是遍历要按字符搜索的单词。每次您当前使用的字母在辅音数组中时,请在z中添加一个。每当您当前使用的字母不在辅音数组中时,请将z设置为零。如果在任何时候z等于3,那么您就知道所搜索的字符串连续有3个辅音,您可以跳出循环。如果循环结束并且z从未达到3,则说明您所搜索的字符串没有连续的3个辅音。希望这对您有所帮助,并祝您编程愉快!

关于java - 检查任何3个连续辅音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42353901/

10-11 06:42