读书人

java将字符串中的数目字重新排序,其他

发布时间: 2012-12-14 10:33:08 作者: rapoo

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));
}

[其他解释]
看不出来数字是按什么排序
[其他解释]
相邻的数字分成单个字符,再排序……如“61”排序后是“16”
[其他解释]
preChar > '9'){
continue;
}
for(int j=i+1;j<arr.length;j++){
int nextChar = arr[j];
if(nextChar < '0'

读书人网 >J2SE开发

热点推荐