希尔瓦娜斯控
2016-04-22 11:48
采纳率: 37.5%
浏览 1.2k
已采纳

初学者求大神解答JAVA问题

java中字符串数组排序 Arrays.sort() 是按西安大写后小写拍的 但是我想讲笑a排在B之前
有什么方法能实现
最好不是新建一个方法

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 已采纳
     /* package whatever; // don't place package name! */
    
    import java.util.*;
    import java.lang.*;
    import java.io.*;
    
    class C implements Comparator
    {
        public int compare(Object arg0, Object arg1)
        {
            String s1 = arg0.toString().toLowerCase();
            String s2 = arg1.toString().toLowerCase();
            return s1.compareTo(s2);
        }
    }
    
    class Ideone
    {
        public static void main (String[] args) throws java.lang.Exception
        {
            String[] a = new String[] { "a", "b", "c", "A", "B", "C" };  
            Arrays.sort(a, new C());  
            for (int i = 0; i < a.length; i++)  
                System.out.println(a[i]);  
        }
    }
    
    点赞 打赏 评论
  • 胡来的右手 2016-04-22 12:49

    你太天真了,写代码不就是为了按照自己的想法实现吗?还不新写一个方法。。。。。。。。
    ASCLL码:
    A~Z:65-90, a~z:97-122
    char型在运算中取的是ASCLL码中的值,自己写判断排序。
    学代码不要养成伸手党,要多动手,自己实现。

    点赞 打赏 评论
  • 毕小宝 2016-04-22 13:11

    你是想忽略大小写按字母顺序吗?如果是的话就可以调用字符串的to Upper或者都转成小写统一就可以了。

    点赞 打赏 评论
  • 结果
    a
    A
    b
    B
    c
    C

    点赞 打赏 评论

相关推荐