public class Test2 {
public static void main (String[] args){
String str="12#13#14#18#!1#2#3#4#5#!";
String[] outStr=str.split("!");
System.out.println(Arrays.toString(outStr));for (int i = 0; i < outStr.length; i++) {
String[] innerStr=outStr[i].split("#");
System.out.println(Arrays.toString(innerStr));
}
}
}
//请问怎么做一个类返回innerStr[]因为很多业务都需要获得innerStr[]完成,请给出具体代码返回的InnerStr[]所有元素!

解决方案 »

  1.   

    public static String getInnerStr() {
    List list = new ArrayList();
    String str = "12#13#14#18#!1#2#3#4#5#!";
    String[] outStr = str.split("!");
    for (int i = 0; i < outStr.length; i++) {
    String[] innerStr = outStr[i].split("#");
    for (int j = 0; j < innerStr.length; j++) {
    list.add(innerStr[j]);
    }
    }
    return Arrays.toString(list.toArray());
    }
      

  2.   


    public String[] getArray() {
    return arrName;
    }可以通过这样一个方法返回数组
      

  3.   

    如果保证你的str是按照你上面的格式来的,那么就可以用下面的方法import java.util.Arrays;
    import java.util.List;
    import java.util.ArrayList;
    public class Test2 {    public static List<Integer> parseString(String str){
            List<Integer> result=new ArrayList<Integer>();
            String[] outStr=str.split("!");
            System.out.println(Arrays.toString(outStr));        for (int i = 0; i < outStr.length; i++) {
                String[] innerStr=outStr[i].split("#");
    //            System.out.println(Arrays.toString(innerStr));
                for(String s:innerStr){
                    try{
                        result.add(Integer.parseInt(s));
                    }catch(Exception e){
                        e.printStackTrace();
                    }            }
            }
            return result;    }
        public static void main (String[] args){
            String str="12#13#14#18#!1#2#3#4#5#!";
            List<Integer> list=parseString(str);
            System.out.println("list:"+list.toString());
        }
    }
      

  4.   

    就定义一个array,把
    System.out.println(Arrays.toString(innerStr));
    换成往数组添加,最后返回数组不就可以了吗
      

  5.   


    关键是InnerStr写到循环里面去了
      

  6.   

    那可以返回两个List或者数组import java.util.Arrays;
    import java.util.List;
    import java.util.ArrayList;
    public class Test2 {    public static List<Integer> parseString(String str){
            List<List<Integer>> result=new ArrayList<List<Integer>>();
            String[] outStr=str.split("!");
            System.out.println(Arrays.toString(outStr));        for (int i = 0; i < outStr.length; i++) {
                String[] innerStr=outStr[i].split("#");
    //            System.out.println(Arrays.toString(innerStr));
                List<Integer> listInt=new List<Integer>();  
                for(String s:innerStr){
                    try{
                        listInt.add(Integer.parseInt(s));
                    }catch(Exception e){
                        e.printStackTrace();
                    }            }
                result.add(listInt);
            }
            return result;    }
        public static void main (String[] args){
            String str="12#13#14#18#!1#2#3#4#5#!";
            List<List<Integer>> list=parseString(str);
            System.out.println("list:"+list.toString());
        }
    }
      

  7.   

    上面手写改的有两个错误,下面的OK了import java.util.Arrays;
    import java.util.List;
    import java.util.ArrayList;
    public class Test2 {    public static List<List<Integer>> parseString(String str){
            List<List<Integer>> result=new ArrayList<List<Integer>>();
            String[] outStr=str.split("!");
            System.out.println(Arrays.toString(outStr));        for (int i = 0; i < outStr.length; i++) {
                String[] innerStr=outStr[i].split("#");
    //            System.out.println(Arrays.toString(innerStr));
                List<Integer> listInt=new ArrayList<Integer>();  
                for(String s:innerStr){
                    try{
                        listInt.add(Integer.parseInt(s));
                    }catch(Exception e){
                        e.printStackTrace();
                    }            }
                result.add(listInt);
            }
            return result;    }
        public static void main (String[] args){
            String str="12#13#14#18#!1#2#3#4#5#!";
            List<List<Integer>> list=parseString(str);
            System.out.println("list:"+list.toString());
        }
    }
      

  8.   


    海量数据就不是我要管的问题了,我们只是回答你CSDN的问题,不是直接替你工作,嘿嘿,因为我们也不从你那里领工资
      

  9.   

    引用 11 楼 ioe_gaoyong 的回复:
    海量数据就不是我要管的问题了,我们只是回答你CSDN的问题,不是直接替你工作,嘿嘿,因为我们也不从你那里领工资引用 9 楼 wwj13141988 的回复:引用 8 楼 ioe_gaoyong 的回复:那可以返回两个List或者数组
    Java codeimport java.util.Arrays;
    impo……