У меня есть код, который проверяет наличие трех одинаковых последовательных согласных в строке. Это выглядит так:Проверка на наличие каких-либо 3-х скрытных согласных
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!");
}
Но я хотел бы проверить ЛЮБОЕ три последовательных согласных. Чтобы найти такие слова, как: Рождество, страна, дети, школа и т. Д.
И не знаю, как мне изменить этот код, чтобы сделать это. Вы можете помочь?
Что вы имели в виду, вы хотели проверить, например, 'bcd' существуют три раза в вашей строке или что? –
Только один раз - три последовательных согласных –
Я действительно не могу прийти, чтобы понять ваш вопрос, можете ли вы привести пример, чтобы я мог понять? –