将 Arrays.sort() 用于非字母字符,例如 {'+' '1' 'D'}

迈卡约翰逊

我的示例字符串是“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);

        }

    }
巴林特·贝雷斯

对我来说,你的例子对“D+1”来说效果很好。唯一的错误是在最后一行你需要
comp = String.valueOf(compChars);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用lambda将2D数组的元素与Arrays.sort进行比较

将Arrays.sort与Lambda结合使用

将字符串中的字母更改为短语(例如,将D更改为Delta,)

将numpy.set1d泛化为nd-arrays

将时间字符串(例如“ 1d”)转换为秒

Arrays.sort 字符串

接受字符串的方法,格式为“ aabbaadddc”。通过计算连续字母对字符串进行编码。例如:“ a2b2a2d3c1”

将2d char数组转换为1d字符串数组

将数字列表 1、2、3、4 转换为字母列表 A、B、C、D

了解Java使用Arrays.sort()对2D数组排序

紧缩:将-d 1和-d 1%选项与前两个字符DD一起使用

正则表达式,用于将除/以外的所有非字母数字字符替换为empty(“”)字符

将1D数组应用于2D数组的每个单元以创建3D数组

是否有一个Java库可以将描述时间量度的字符串(例如“ 1d 1m 1s”)转换为毫秒?

MySQL 将字母表转换为数字(例如,'A' 到 1,'B' 到 2...)

将数字添加到字母数字值中(例如:“ABC”+1 =“ABD”)

Java的比较Arrays.sort()

将 array.sort() 默认算法应用于数组中对象的字符串属性

将字符串从 csv 转换为 1d numpy 浮点数组

将poly1d转换为字符串ipython

将每个字符串从2D数组复制到1D数组

将2D cvMat转换为1D

将元素从 2d 推到 1d 向量

将 4-d 张量与 1-d 张量相乘

将1D阵列存储到2D

将 2d 数组索引为 1d

降低字母的值,例如可以将'd'更改为'c',但不能将'c'更改为'd'。为了形成回文

如何使用Arrays.sort()按长度对字符串数组进行排序

将字符串与arrays.xml进行比较?