Java输入字符串排序遇到点号或逗号不排序

2025-03-03 05:59:40
推荐回答(1个)
回答1:

public class MaoPao{
public static String[] SortString(String[]arrays) {

for(int i=0;i for(int j=i;j if(compare(arrays[i], arrays[j])>0){
String tString=arrays[i];
arrays[i]=arrays[j];
arrays[j]=tString;
}
}
}
return arrays;
}
 public static int compare(String s1, String s2) {
         int n1=s1.length(), n2=s2.length();
         int temp1=n1; int temp2=n2;
         for (int i1=0, i2=0; i1             char c1 = s1.charAt(i1);
             char c2 = s2.charAt(i2);
             if(c1=='.'||c1==','){
              ++i1;
              --temp1;
              continue;
             }
             if(c2=='.'||c2==','){
              ++i2;
              --temp2;
              continue;
             }
             if (c1 != c2) {               
                     c1 = Character.toLowerCase(c1);
                     c2 = Character.toLowerCase(c2);
                     if (c1 != c2) {
                         return c1 - c2;                    
                 }
             }
             i1++;
             i2++;
         }
         return temp1-temp2;
     }
 
public static void main(String[] args) {
String[]arrays={"abc","a.bd","ba","e",",a","zew"};
SortString(arrays);
for(String var:arrays){
System.out.println(var);
}
}
}

本来只要用一个compareTo的,还有点号逗号就不淡定了