java例题_40 字母字符串转数组后排序

 1 /*40 【程序 40 字符串排序】 输入一个字符串数组,按照字母表的降序对这些字符串进行排序。 
 2 题目:字符串排序。 
 3 */
 4 
 5 /*分析
 6  * 1、从键盘得到一个纯字母的字符串
 7  * 2、遍历字符串的每一个字母
 8  * 3、将字母按照ASCII码从大到小排序
 9  * 排序实现方法:
10  * 将字符串存入数组中,再用冒泡排序实现
11  * */
12 
13 //【注】
14 /*=====================字符串存入数组的三种方法===============
15  * String Str="abnckdjgdag";
16 char a[]=new char[Str.length()];
17 
18 方法1   用于取出字符串的指定索引的字符charAt()---------------
19 for(int i=0;i<Str.length();i++){
20 a[i]=Str.charAt(i);//charAt(i)方法取出一个字符串索引为i的字符
21 }
22 
23 方法2    用于直接将字符串传入数组toCharArray()----------------
24 a=Str.toCharArray();//toCharArry()方法将一个字符串按字符传入数组
25 
26 方法3   用于将字符串的子串传入数组getChars()-----------------
27 Str.getChars(0,Str.length(),a,0);//getChars(Str要拷贝子串的起始索引,Str要拷贝子串的末尾索引,要拷贝到的数组,要拷贝到数组的起始索引)
28 ===============================================================================*/
29 
30 
31 package homework;
32 
33 import java.util.Scanner;
34 
35 public class _40 {
36 
37     public static void main(String[] args) {
38         // 从键盘得到一个纯字母的字符串
39         System.out.println("请输入一个只包含字母的字符串,并以回车键结束:");
40         Scanner sc=new Scanner(System.in);
41         String str=sc.nextLine();
42         String str2= str.replaceAll("[^a-zA-Z]", "");  //字符串中只保留字母的操作
43         //得到字符串的长度,用于创建数组
44         int n=str2.length();
45         //将字符串存入数组中
46         char[] a=new char[n];
47         a=str2.toCharArray();   //经过测试,并没有将字符串结束符存入数组
48 //        //测试
49 //        for (int i = 0; i < a.length; i++) {
50 //            System.out.print(a[i]+"1");
51 //        }
52         //冒泡排序法  (abcdefghijk)
53         char temp;
54         for (int i = 0; i < a.length; i++) {
55             for (int j = 0; j < (a.length-1); j++) {
56                 if (a[j]<a[j+1]) {
57                     temp=a[j];
58                     a[j]=a[j+1];
59                     a[j+1]=temp;
60 //                    System.out.print(j+" ");  //测试
61                 }
62             }
63         }
64         //输出结果
65         for (int i = 0; i < a.length; i++) {
66             System.out.print(a[i]+" ");
67         }
68 
69     }
70 
71 }

猜你喜欢

转载自www.cnblogs.com/scwyqin/p/12322422.html