Erik_Mironov
@Erik_Mironov
Старые вопросы: *Dies from cringe*

Как вывести строку в нужном формате?

Задача: Реализовать метод, который принимает строку в качестве параметра и увеличивает количество каждого символа в строке в N раз, где N - позиция символа в строке и вывести в формате: string("abcde") -> A-Bb-Ccc-Dddd-Eeeee. Алгоритм увеличения количества символов в строке на N я реализовал, но вот как мне вывести строку в таком формате я не понимаю. Направьте в нужном направлении, пожалуйста.
public static void main(String[] args) {
        repeatChar("abcde");
    }


    public static String repeatChar (String s) {
        StringBuilder repeat = new StringBuilder();
        for(int i = 0; i < s.length(); i++){
            for(int j = -1; j < s.indexOf(s.charAt(i)); j++){
                repeat.append(s.charAt(i));               
            }
        }
           String str = repeat.toString();
        return s;
    }
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
У вас проблема в методе repeatChar()

Если сам алгоритм реализован правильно, то вам нужно просто вернуть строку
public static String repeatChar (String s) {
    StringBuilder repeat = new StringBuilder();
    for(int i = 0; i < s.length(); i++){
        for(int j = -1; j < s.indexOf(s.charAt(i)); j++){
            repeat.append(s.charAt(i));
        }
    }
    return repeat.toString();
}


А то получается. что вы принимаете аргумент s и возвращаете тот же аргумент, вместо StringBuilder repeat
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вам нужно вернуть str, или как выше уже писали repeat.toString(); чтобы не создавать новую строку в методе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы