Member 14000163 Ответов: 0

Рекурсия Java пытается разделить текст на куски равномерно, заполняя в конце


Я пишу программу шифрования для курса, который я беру, чтобы изучить Java. Предполагается, что этот метод разбивает текст на куски, размер которых определяется пользователем. ("3" = "XXX XXX XXX") Затем я должен заполнить конец строки буквой "x", когда строка не разделяется равномерно. Я еще не написал часть, чтобы дополнить "x"в конце, потому что мой метод оставляет "чудаков" в начале. ("3" = "X XXX XXX XXX" или "XX XXX XXX" вместо "XXX XXX XX" или "XXX XXX X") Я описал свой метод ниже. Любой совет будет очень признателен!

Что я уже пробовал:

public static String groupify(String str, int n){

        if(str.length() == 0)
            return str;
        char c = str.charAt(0);
        String s = " ";
        if(str.length() % n == 1)
            return c + s + groupify(str.substring(1), n);
        return c + groupify(str.substring(1), n);
    }

Gerry Schmitz

Мы не делаем "обзоры кода".

Вы "задаете вопрос", а мы пытаемся ответить. Вот и все.

Ryan Huffman

Я включил код только потому, что считал его необходимым. Как кто-то может помочь мне найти мою ошибку без кода? Честно говоря, я просто пытаюсь понять. Я гуглил это по крайней мере 10 раз (каждый раз разные формулировки) и читал все, что он поднимал, что казалось даже несколько связанным. Я разместил на сайтах по программированию Facebook. Я пытался выяснить это самостоятельно, изменив код. Сейчас я в растерянности.

Richard MacCutchan

Начиная с начала строки.
- если длина строки меньше или равна n, верните строку.
- возьмите первую подстроку длины n и добавьте ее в свой набор блоков
- повторяйте до тех пор, пока не будет больше данных.

Member 14000163

Большое вам спасибо, Ричард Маккатчен!

0 Ответов