Меня попросили написать класс, который кодирует данное предложение с использованием определенных правил. Этот класс должен использовать циклы и Stringbuffer
. Правила таковы:
- Каждая точка '.' заменяется на '*'.
- Каждый третий символ (если этот символ не является пробелом или точкой)
должны быть устранены.
- Добавить в конце нового предложения число, представляющее общее число
выбывших персонажей.
Я написал код, но не могу понять, почему он не работает. Кто-нибудь может помочь?
Например:
предложение = "Кэти любит наблюдать за природой."
Должен быть преобразован в:
"Kaie iks t obere ntue * 8"
Однако, используя мой код, я получаю:
"Кэти любит наблюдать за природой *."
Спасибо!
public void createEncodedSentence() {
StringBuffer buff = new StringBuffer();
int counter = 0;
char a;
for (int i = 0; i < sentence.length(); i++) {
a = sentence.charAt(i);
if (a == '.') {
buff.append('*');
}
if (a != ' ' && a != '.') {
counter++;
}
if (counter % 3 == 0) {
buff.append("");
}
buff.append(sentence.charAt(i));
}
encodedSentence = buff.toString();
}