private void sortTels(String[] telsArr){
        for(int i=0;i<telsArr.length;i++){
           String telno = telsArr[i];
           if("".equals(telno)){
              // telno = telsArr[i+1];
           }else{           }
        }
    }
写了个开头不知道咋写了,求高人帮忙!

解决方案 »

  1.   

    之前的字符串就是在一个javabean中的三个字段,
      

  2.   

    在一个javabean中可以直接去空,滤重吗?
      

  3.   

    我的意思是就3个最笨的方法也可以写出来,就像这样public void resetPhone(String phone1,String phone2,String phone3)
    {
    if(phone1 == null || "".equals(phone1)){
    phone1=phone2;
    phone2="";
    }
    else if(phone1.equals(phone2)){
    phone2="";
    }
    else if(phone1.equals(phone3)){
    phone3="";
    }

    if(phone2 == null || "".equals(phone2)){
    phone2=phone3;
    phone3="";
    }
    else if(phone2.equals(phone3)){
    phone2="";
    }
    }
      

  4.   

    试过了好像可行:
      String[] telsArr=new String[]{"4333","1234","","2345"};
       for(int i=0;i<telsArr.length;i++){
               String telno = telsArr[i];
               if("".equals(telno) ){
                for(int j=i;j<telsArr.length;j++){
                if(j == telsArr.length -1){
                telsArr[j] = "";
                }else{
                telsArr[j] = telsArr[j+1];
                }
                }
                
               }
            }
      

  5.   

     public String[] sortTels(String[] telsArr) {
            List<String> list = new ArrayList<String>(Arrays.asList(telsArr));
            for (int i = list.size() - 1; i >= 0; i--) {
                if (list.get(i).isEmpty() || list.contains(list.get(i))) {
                    list.remove(i);
                }
            }
            return list.toArray(new String[]{});
        }
      

  6.   

    刚那有问题。。 public String[] sortTels(String[] telsArr) {
            List<String> list = new ArrayList<String>(Arrays.asList(telsArr));
            List<String> newList = new ArrayList<String>();
            for (int i = 0; i < list.size(); i++) {
                if (!list.get(i).isEmpty() || !newList.contains(list.get(i))) {
                    newList.add(list.get(i));
                }
            }
            return newList.toArray(new String[]{});
        }
      

  7.   

    。。    public String[] sortTels(String[] telsArr) {
            List<String> list = new ArrayList<String>(Arrays.asList(telsArr));
            List<String> newList = new ArrayList<String>();
            for (int i = 0; i < list.size(); i++) {
                if (!list.get(i).isEmpty() && !newList.contains(list.get(i))) {
                    newList.add(list.get(i));
                }
            }
            return newList.toArray(new String[]{});
        }
      

  8.   


    private static void sortTels(String[] telsArr){
    Set<String> set = new TreeSet<String>();
    for (String t : telsArr) {
    if (!"".equals(t)) {
    set.add(t);
    }
    }
    String[] tel = set.toArray(new String[0]);
    for (int i = 0; i < telsArr.length; i++) {
    if (i < tel.length) {
    telsArr[i] = tel[i];
    } else {
    telsArr[i] = "";
    }
    }
    System.out.println(Arrays.toString(telsArr));
        }
      

  9.   

    如果第二个和第三个都是空算是重复吗?我按照也算重复处理的。需要List不能为空,关于健壮性上需要自己改下。public static void main(String[] args) {
         List<String> list = new ArrayList<String>();
         list.add("");
         list.add("1");
         list.add("");
         list.add("1");
         list.add("");
         list.add("3");
         list.add("");
         list.add("4");
         list.add("");
         list.add("5");
         System.out.println(test(list));
        }
        
        
        public static List<String> test(List<String> list) {
         //用循环remove掉最开始的空号码
         for(int i = 0; i < list.size(); i++) {
         if("".equals(list.get(0))) {
         list.remove(0);
         } else {
         break;
         }
         }
         //当前的list第一个值肯定不是空值,满足要求
         List<String> returnList = new ArrayList<String>();
         returnList.add(list.get(0));
         for(int i = 1; i < list.size(); i++) {
         if(returnList.size() >= 3) {
         return returnList;
         }
         boolean b = false;
         String value = list.get(i); 
         for(int j = 0; j < i; j++) {
         String temp = list.get(j);
         if(value.equals(temp)) {
         b = true;
         break;
         }
         }
         if(!b) {
         returnList.add(value);
         }
         }
         return returnList;
        }
      

  10.   

    public class ParsePhones { public static List<String> parsePhones(String[] phones) { // 涉及移位操作,转换为List操作最好了
    List<String> phoneList = new ArrayList<String>(); // 数组空,直接返回
    if (null == phones || phones.length == 0) {
    return phoneList;
    } // 遍历号码数组
    for (String num : phones) {
    // 号码若为空,则不再加入List
    if (null == num || "".equals(num.trim())) {
    continue;
    } // 号码若重复,则不再加入List
    if (phoneList.contains(num.trim())) {
    continue;
    } // 不重复就追加到列表后面
    phoneList.add(num.trim());
    // 这里有个疑问:如果有号码和第一个号码重复,第一个号码需要去除么?如果要去掉,则需再增加逻辑
    } // 其它位置补空字符串操作
    for (int i = phoneList.size(); i < phones.length; i++) {
    phoneList.add("");
    } return phoneList;
    } public static void main(String[] args) {
    String[] phones = { "123123", "", "3333" };
    List<String> phoneList = parsePhones(phones); System.out.println("过滤后的号码:" + phoneList);
    }
    }
      

  11.   

    public static void main(String[] args) {
         List<String> list = new ArrayList<String>();
         list.add("");
         list.add("1");
         list.add("");
         list.add("1");
         list.add("");
         list.add("3");
         list.add("");
         list.add("4");
         list.add("");
         list.add("5");
         System.out.println(test(list));
        }
        
        
        public static List<String> test(List<String> list) {
         //用循环remove掉最开始的空号码
         for(int i = 0; i < list.size(); i++) {
         if("".equals(list.get(0))) {
         list.remove(0);
         } else {
         break;
         }
         }
         //当前的list第一个值肯定不是空值,满足要求
         List<String> returnList = new ArrayList<String>();
         returnList.add(list.get(0));
         for(int i = 1; i < list.size(); i++) {
         if(returnList.size() >= 3) {
         return returnList;
         }
         boolean b = false;
         String value = list.get(i); 
         for(int j = 0; j < i; j++) {
         String temp = list.get(j);
         if(value.equals(temp) && !value.equals("")) {
         b = true;
         break;
         }
         }
         if(!b) {
         returnList.add(value);
         }
         }
         return returnList;
        }