Использование Arrays.sort () для неалфавитных символов, таких как {'+' '1' 'D'} - PullRequest
0 голосов
/ 18 октября 2019

Мой пример строки "D + 1"

Я перевожу ее в массив символов

Я хочу отсортировать их так, чтобы получился стиль ASCII, поэтому{'+', '1', 'D'}

Затем я могу вручную переместить оператор, в данном случае '+', в середину, как я хочу, чтобы, когда я превращаю его обратно в строкуоно становится «1 + D»

Arrays.sort () в этом случае не работает, есть ли повсеместное исправление?

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

if (comp.length()>2)
    {
        char[] compChars = comp.toCharArray();

        boolean exit = false;
        if (compChars[1] == '-')
            exit = true;

        // if there is no subtraction
        if (!exit) {

            // TODO: fix
            Arrays.sort(compChars);
            char temp = compChars[0];
            compChars[0] = compChars[1];
            compChars[1] = temp;

            comp = String.valueOf(comp);

        }

    }

1 Ответ

1 голос
/ 18 октября 2019

Для меня ваш пример отлично работал для "D + 1". Единственная ошибка в этом заключается в том, что в последней строке вам нужно
comp = String.valueOf(compChars);

...