Глядя на вашу obify
функцию, я не совсем понимаю, где вы проверяете, является ли Character
гласной.Следующий код:
if (input.contains( Character.toString( input.charAt( i ) ) ))
проверяет, содержит ли input
символ в определенной позиции в input
.Это не совсем решает вашу проблему проверки, является ли письмо гласным.Кроме того, вы устанавливаете obifiledInput
на input
напрямую, без предварительного просмотра и добавляете OB
при необходимости.Чтобы исправить эти проблемы, вы можете попробовать мой код ниже:
private static String obify (String input) {
String obifiledInput = "";
for (int i = 0; i < input.length(); i++) {
char temp = input.charAt(i);
if (char == 'A' || char == 'E' || char == 'I' || char == 'O' || char == 'U') {
obifiledInput += "OB" + temp;
} else {
obifiledInput += "" + temp;
}
}
return obifiledInput;
}
Я думаю, вы должны найти, что это работает.Он проверяет, является ли символ гласным, ["A", "E", "I", "O", "U"]
.Затем он добавляет "OB"
и символ к obifiledInput
.В противном случае он просто добавляет Character
.Наконец, он возвращает String
, который был «обиден».