字符串按照字母表顺序排列

package com.itic.regulus.wf.task.controller;

public class testController {
    
    public static void main(String[] args) {
        System.out.println(sort(getString()));
    }
    
    static String a="When not studying Java programming. Tom likes to play Xbox.";
    
    public static String getString(){
        StringBuffer str = new StringBuffer();
        for(int i=0;i<a.length();i++){           
            if(a.charAt(i)>=97 && a.charAt(i)<=122 )
                str.append(a.charAt(i));
            else if(a.charAt(i)>=65 && a.charAt(i)<=90)
                str.append((char)(a.charAt(i)+32));
        }
        return str.toString();
    }
 
    public static String sort(String str){
        char[] c = new char[str.length()];
        for(int i=0;i<str.length();i++){
            c[i]=str.charAt(i);
        }
        char[] d=bubbleSort(c, c.length);
        StringBuffer sb = new StringBuffer();
        for(int j=0;j<d.length;j++){
            sb.append(d[j]);
        }
        return  sb.toString();    
    }
    
    public static char[] bubbleSort(char[] c,int n){
        int i,j,flag;
        for (i = 1; i<=n-1; i++) {
            flag=0;
            for (j = n-1; j >=i ; j--)
                if(((Comparable)c[j]).compareTo((Comparable)c[j-1])<0){
                    char x = c[j];c[j]=c[j-1];c[j-1]=x;
                    flag=1;
                }
            if(flag==0) break;
        }
        return c;
    }

}

 

aaaabdeeggghiiijkllmmmnnnnooooopprrssttttuvwxxyy

 

注释:字符常量是用单引号括起的一个字符 且字符常量在内存中存储的是该字符在Unicode字符集中的排序位置,即整数
eg:char x='a'
内存x中存储的是字符a在Unicode字符集中的排序位置97 因此允许将上面的语句写成char x=97;   

a :97   z:122

A: 65     Z:90

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值