A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 聖手`书生 中级黑马   /  2013-4-16 20:48  /  1631 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 聖手`书生 于 2013-4-17 09:04 编辑

"12 0 99 -7 30 4 100 13"
需求:要求对字符串中的数值进行排序。生成一个数值从小到大新字符串。(不用StringBuffer)

大家给提供一个思路, 怎么把这个有空格的字符串 中的数字提取到数组中来。又如何把排序好的数组再加上空格后转化为字符串,今天脑子短路了,求个思路,,,,,



评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

5 个回复

倒序浏览
尝试把这个字符串以空格为界,分割成字符串数组。
看一下API,有一个方法:
String[]        split(String regex)
排好序后再组合成字符串。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
先将字符串分割:split(" "),然后用一个String类型的数组来接收;
排完序后,再用另一个String数组来接收,接着把下标为偶数的字符弄为空格就OK了。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
使用String的split()方法将空格作为分割符,将String切成String数组。    转化字符串:使用for循环遍历数组,string变量接收值,string x+= arr[x]+" ";

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
对一个String类型的字符串进行排序
import java.util.Arrays;
import java.util.Comparator;
public class Temp2
{
    public static void main(String args[])
    {   
    String str2 = "33 35 43 21 12 10 5 67 65";
        String[] str = str2.split(" ");
        Arrays.sort(str, new CustomComparator2());
        
        for(Object s: str)
        {
            System.out.println(s);
        }
    }
}
class CustomComparator2 implements Comparator<String>
{
    public int compare(String str1, String str2)
    {
        int name1 = Integer.parseInt(str1);
        int name2 = Integer.parseInt(str2);
        return name1 - name2;
    }
}
回复 使用道具 举报
  1. public static void main(String[] args) {
  2.                 String str = "12 0 99 -7 30 4 100 13";
  3. //                使用split分隔
  4.                 String[] strs = str.split(" ");
  5. //                创建一个等大的int数组用于排序
  6.                 int[] in = new int[strs.length];
  7.                 for (int i = 0; i < strs.length; i++) {
  8.                         //把字符串转成int
  9.                         in[i] = Integer.valueOf(strs[i]).intValue();
  10.                 }
  11. //                排序
  12.                 Arrays.sort(in);
  13. //                使用一个新串来接收结果
  14.                 String result = "";
  15.                 for (int i : in) {
  16. //                        拼接字符串
  17.                         result += (i + " ");
  18.                 }
  19.                 //去掉最后的空格
  20.                 result = result.substring(0, result.length() - 1);
  21. //                可以看下结果
  22.                 System.out.println(result);
  23.         }
复制代码
写了一个,不知道能不能帮到楼主。


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马