0
поэтому мой код работает для некоторых слов, но не для других, он сбрасывается. Индекс строки выходит за пределы диапазона: -1 im Предположим, чтобы распечатать ub перед каждым гласным и гласным кластером ex dubious был бы dubububious или cat loveo будет lubovudeoОшибки строк в конвертере
String sentance, set;
sentance = "toster iooppp";
set= translate(sentance);
System.out.println(set);
}
public static String translate (String sentence){
String set = " ";
sentence= sentence.toLowerCase();
scan = new Scanner (sentence);
while (scan.hasNext()) {
set+= toUbbi (scan.next());
set += " ";
}
return set;
}
private static String toUbbi(String word) {
String str= word;
String new_str="";
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (isVowel(c) && isVowel(str.charAt(i -1)))
{ // If is a vowel
new_str += "ub" ;
}
new_str += c;
}
return new_str;
}
private static boolean isVowel(char c)
{
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'){
return true;}
return false;
Этот код не завершено - с обеих сторон отсутствуют линии. – isnot2bad
Не любил бы кошку любовью? –
Я подозреваю, что ваша логика неверна, и вы, вероятно, обнаружите, что это дает вам неправильный ответ, когда вы не можете его терпеть. Я бы прошел через это вручную и посмотрел, как «toUbbi» будет работать. Также убедитесь, что логика делает то, что вы хотите на границах, т. Е. Когда 'i' равно 0 и когда это' str.length() - 1'. – ajb