java吧 关注:1,246,202贴子:12,724,621
  • 8回复贴,共1

提取数字并排序

只看楼主收藏回复

怎么解?


来自Android客户端1楼2016-02-23 22:35回复
    先用split以逗号为分解符分组,然后声明一个局部变量int temp=0,依次取出每组第一个字符,如果是数字,temp=temp*10+数字,直到取到不是数字为止,把temp存到另外的int数组里,然后继续对下一组做上述操作,最后再对int数组进行排序


    IP属地:浙江来自Android客户端3楼2016-02-24 09:33
    收起回复
      用正则\\d+提取出来格式化为int存进容器里最后排序


      来自手机贴吧4楼2016-02-24 09:44
      收起回复
        public static void main(String[] args) {
        String s="1,nihao,5,shishenme,4,28,dajiahao,16,7";
        Integer[] s1=new Integer[6];
        Pattern p=Pattern.compile("[0-9]+");
        Matcher m=p.matcher(s);
        int i=0;
        while(m.find()){
        System.out.println(m.group());
        s1[i]=Integer.parseInt(m.group());
        i++;
        }
        Arrays.sort(s1);
        //Arrays.sort(s1,Collections.reverseOrder());
        for(int j=0;j<s1.length;j++){
        System.out.println(s1[j]);
        }
        }


        5楼2016-02-25 14:26
        收起回复
          这种很格式化的 id name 用split(",")分割成数组,然后每个数据再取出前面两个字符,然后再转成Integer类型 不就的了吗?


          IP属地:广东6楼2016-02-25 23:24
          回复