N个单词,进行排序,首个字母大写的排前面,首个字母的小写排后面,代码怎么写?新手请大家指点

解决方案 »

  1.   

    可能需要用到ASCII码:public class Test2 {
    public static void main(String[] args) {
    String[] s = {"Bc","Ad","aC","Hello","Xman","little","During","day"};
    for(int i =0;i<s.length;i++){
    for(int j=i;j<s.length;j++){
    if(px(s[i].charAt(0),s[j].charAt(0))){
    String aa = "";
    aa = s[i];
    s[i] = s[j];
    s[j] = aa; 
    }
    }
    }
    for(String k: s){
    System.out.println(k);
    }
    }
    private static boolean px(char c1,char c2){
    boolean b = true;
    if(c1>=97){
    c1 -= 32;
    }if(c2>=97){
    c2 -= 32;
    }
    if(c1==c2&&c1<=c2){
    b = false;
    }
    if(c1<c2){
    b = false;
    }
    return b;
    }
    }
      

  2.   

    抱歉是java的,你可以看看设计思路吧。
      

  3.   


    代码是用ASCII码进行区别的。
      

  4.   

    是所有大写的在前?还是相同字母大写的在前?
    比如有A,a,b,c,C,B,排序后是:
    A,a,B,b,C,c??还是?
    A,B,C,a,b,c???
      

  5.   

    思路,把每个单词都放到数组里,循环数组,比较每个单词的第一位字符的ascii.遇到大写则和数组中前一个单词交换
      

  6.   


    void Main()
    {
    var list=new string[]{"ab","AA","bb","Cc","ee","FF"};
    list=list.OrderBy(l=>!Regex.IsMatch(l.Substring(0,1),"[A-Z]")).ToArray();
    list.ToList().ForEach(l=>Console.WriteLine(l));

    /*
    AA
    Cc
    FF
    ab
    bb
    ee */
    }论坛签名======================================================================love_zt_love:你好!
    截至 2011-03-15 14:36:36 前:
    你已发帖 12 个, 未结贴 0 个;
    结贴率为: 100.00%

    当您的问题得到解答后请及时结贴.

    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
    http://topic.csdn.net/u/20100626/09/f35a4763-4b59-49c3-8061-d48fdbc29561.html如何给分和结贴?
    http://community.csdn.net/Help/HelpCenter.htm#结帖如何给自己的回帖中也加上签名?
    http://blog.csdn.net/q107770540/archive/2011/03/15/6250007.aspx
      

  7.   

    先Split(',')存入数组 取第一个字符是否是大写。然后存入新数组。