Настроенная обратная Java-строка - PullRequest
1 голос
/ 01 марта 2012

Я просто хотел бы спросить, есть ли способ настроить способ обратного преобразования строк в Java? Например, это мой пример ввода:

Большая синяя птица летит.

есть ли способ, которым я могу изменить некоторые части строки, например, на 3?

Таким образом, результат будет:

Theib g beul bi dris ylfing.

Строка обратная каждые 3 символа. это возможно?

1 Ответ

2 голосов
/ 01 марта 2012

Методология : итерация по всем символам вашей входной строки по параметру (например, в вашем случае param = 3). Определите части, подлежащие обращению, с помощью логического флага. Если частичная подстрока не подлежит обращению, добавьте ее к результату, в противном случае добавьте обратный результат к результату с помощью объекта StringBuilder. Попробуйте этот код, надеюсь, он поможет:

public static String customizedReverse(String str, int param)
{
    String result = "";
    boolean reverse = false;
    StringBuilder sb = null;
    int size = str.length(), i = 0;

    if(param > size)
        return str;

    for (i = 0; i < (size/param)*(param); i += param)
    {
        String temp = str.substring(i, i + param);
        if (!reverse)
            result += temp;
        else
        {
            sb = new StringBuilder(temp);
            result += sb.reverse();
        }
        reverse = !reverse;
    }
    // Appending the remaining part of the string       
    if (!reverse)
        result += str.substring(i, size);
    else
    {
        sb = new StringBuilder(str.substring(i, size));
        result += sb.reverse();
    }

    return result;
}
...