用JAVA实现字符串提取数字并排序

一串字符串:21#89#34#2#65#43#5#75$
用JAVA实现结果:
2,5,21,34,43,65,75,89
即提取数字并从小到大排序
谢谢!
请哪位大神给一个程序主体吧谢谢!

import java.util.*;
class  T
{
public static void main(String[] args) 
{
String str="21#89#34#2#65#43#5#75$";
int index=str.indexOf("$");
String str1=str.substring(0,index);
String[] strs=str1.split("#");
int[] a=new int[strs.length];
for(int i=0;i<strs.length;i++)
{
    a[i]=Integer.parseInt(strs[i]);
}
Arrays.sort(a);
for(int i=0;i<strs.length;i++)
{
    System.out.println(a[i]);
}


}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-24
String str = "21#89#34#2#65#43#5#75$".replace("$","");
        String[] arr1 = str.split("#");
        int[] arr2 = new int[arr1.length];
        for(int i=0;i<arr1.length;i++){
            arr2[i] = Integer.valueOf(arr1[i]);
        }

        Arrays.sort(arr2);

        for(int a : arr2){
            System.out.print(a + ",");
        }

第2个回答  2013-09-24
直接用new String[] = str.split("#");
这样就能到一个String的数据,然后将string的数据,
编程int型数据,至于排序的方法有很多,最简单的
冒泡排序就可以了。
希望 采纳。
第3个回答  2013-09-24
/**

复制可运行
*/
public class TestRange {
public static void main(String[] args) {
// int[] num = { 11, 21, 45, 20, 30, 80, 50, 25, 76, 32 };
String[] numa = "21#89#34#2#65#43#5#75$".replace("$", "#").split("#");
for (int j = 0; j < numa.length; j++) {
for (int i = numa.length - 1; i > 0; i--) {
if (Integer.parseInt(numa[i]) < Integer.parseInt(numa[i - 1])) {//">"从大到小
String temp = numa[i];
numa[i] = numa[i - 1];
numa[i - 1] = temp;
}
}
}
for (int k = 0; k < numa.length; k++) {
System.out.print(numa[k] + ",");
}
}
}
第4个回答  2013-09-24
String s = "21#89#34#2#65#43#5#75$";
s = s.replace("$", "");
String[] ss = s.split("#");
List<String> list = Arrays.asList(ss);
List<Double> d_list = new ArrayList<Double>();
for(String n : list){
System.out.println(n);
d_list.add(Double.valueOf(n));
}
Collections.sort(d_list);
for(double d : d_list){
System.out.println(d);
}
相似回答