字符串由多个数字字符串和空格组成,如:
String str="99 345 8 888 55 0 -9999 30";
请编写函数sortNumStr,将字符串中数字字符串按数值大小升序排序,组成新的字符串:
public static String sortNumStr(String numStr)
例如,以上例中的str作为参数,返回结果:
"-9999 0 8 30 55 99 345 888"
1 package test.string; 2 3 import java.util.Arrays; 4 import java.util.StringTokenizer; 5 6 public class SortNumStr { 7 8 public static String sortNumStr(String numStr){ 9 StringTokenizer numString = new StringTokenizer(numStr); 10 String[] results = new String[numString.countTokens()]; 11 int count = 0; 12 while(numString.hasMoreTokens()){ 13 results[count++] = numString.nextToken(); 14 }//分割字符串 15 int[] i = new int[results.length]; 16 for(count = 0; count < results.length; count++){ 17 i[count] = Integer.parseInt(results[count]); 18 }//将字符串类型转换成数字类型 19 Arrays.sort(i);//排序 20 StringBuffer str = new StringBuffer(); 21 for(count=0;count<results.length;count++){ 22 str.append(i[count]+" "); 23 }//将数组转换成字符串 24 return str.toString(); 25 } 26 27 public static void main(String[] args){ 28 String str = "99 345 8 888 55 0 -9999 30"; 29 System.out.println("The sorted numbers:"+sortNumStr(str)); 30 } 31 }