首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2012-12-14 
java将字符串中的数字重新排序,其他的非数字字符不变比如字符串 16a52Bc97,排序后为12a56Bc79,该怎麽

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' 

热点排行