java将字符串中的数字重新排序,其他的非数字字符不变
比如字符串 "16a52Bc97",排序后为"12a56Bc79",该怎麽实现?
[最优解释]
public static void swap(int i,int j,char[] arr){
char temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
public static void main(String[] args) throws Exception {
String str = "16a52Bc97";//排序后为"12a56Bc79"
char[] arr = str.toCharArray();
for(int i=0;i<arr.length;i++){
int preChar = arr[i];
if( preChar < '0'
[其他解释]
nextChar > '9'){
continue;
}
if(preChar > nextChar){
swap(i,j,arr);
}
}
}
System.out.println(new String(arr));
}