Java 将array.sort()用于非字母字符,如{&';&+;&';';1&';D';}
我的示例字符串是“D+1” 我把它转换成一个字符数组 我想对它们进行排序,使其成为ASCII样式,所以它应该是{'+','1','d'} 然后我可以手动将运算符“+”移动到中间位置,这样当我将它转换回字符串时,它会变成“1+D” 在这种情况下,Arrays.sort()不起作用,是否存在普遍存在的修复程序 这样我就不用在散列映射中输入一大堆条目了Java 将array.sort()用于非字母字符,如{&';&+;&';';1&';D';},java,arrays,sorting,char,Java,Arrays,Sorting,Char,我的示例字符串是“D+1” 我把它转换成一个字符数组 我想对它们进行排序,使其成为ASCII样式,所以它应该是{'+','1','d'} 然后我可以手动将运算符“+”移动到中间位置,这样当我将它转换回字符串时,它会变成“1+D” 在这种情况下,Arrays.sort()不起作用,是否存在普遍存在的修复程序 这样我就不用在散列映射中输入一大堆条目了 if (comp.length()>2) { char[] compChars = comp.toCharArray()
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)代码>提示:数组的方法。排序采用比较器。输入字符串(comp
)的形式是什么?你举了一个例子,但一般的规则是什么?最初的问题是什么?“AB-21”
的输出是“21-AB”
还是什么?