Java - группировка повторяющихся символов в строку - PullRequest
0 голосов
/ 24 декабря 2011

(это не домашняя работа) У нас есть несколько дополнительных упражнений, которые я могу выполнить, и я выполнил некоторые.Но я застрял в этом ... Мне нужно сделать программу, которая выдает строку "loool" печатает "l: 1: o: 3: l: 1".Я перепробовал несколько комбинаций, но продолжаю сталкиваться с одной и той же проблемой: - Я не могу набрать последнюю повторную букву для печати (поскольку в моем коде следующий символ должен отличаться для печати).

        String str = "loool";

    StringBuilder sb = new StringBuilder();

    int count = 1;  
    char before;
    before = str.charAt(0);

    for (int i = 1;i < str.length();i++) {
        if (str.charAt(i) == before) {
            count++;
        }
        else {
            sb.append(before + ":" + count);
            before = str.charAt(i);
            count = 1;
        }
    }

    return sb.toString();

1 Ответ

0 голосов
/ 25 декабря 2011

Вам нужно добавить некоторую логику после завершения цикла, чтобы справиться с этой проблемой. Эта логика, вероятно, будет очень похожа на часть кода, который вы используете в блоке else.

...