public class MyString implements Comparable<MyString>{ String a; public MyString(String a){ this.a=a; } public String getMyString(){ return a; } @Override public int compareTo(MyString o) { int result=0; char[] aa=a.toCharArray(); char[] oo=o.getMyString().toCharArray(); int num1=aa.length; int num2=oo.length; if(num1>num2){ num1=num2; result=1; } for(int i=0;i<num1;i++){ double my=(double)aa[i]; double you=(double)oo[i]; if('a'<=my&&'z'>=my){ my=my-('a'-'A')+0.5; } if('a'<=you&&'z'>=you){ you=you-('a'-'A')+0.5; } if(my>you){ return 1; }else if(my<you){ return -1; } } return result; } public static void main(String[] args){ List<MyString> myStrings=new ArrayList<>(); MyString s=new MyString("Bc"); myStrings.add(s); s=new MyString("Ad"); myStrings.add(s); s=new MyString("aC"); myStrings.add(s); s=new MyString("Hello"); myStrings.add(s); s=new MyString("X man"); myStrings.add(s); s=new MyString("little"); myStrings.add(s); s=new MyString("During"); myStrings.add(s); s=new MyString("day"); myStrings.add(s); Collections.sort(myStrings); for(MyString str:myStrings){ System.out.print(str.getMyString()+" "); } } }Ad aC Bc During day Hello little X man
Process finished with exit code 0