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 }

java例题_40 字母字符串转数组后排序的更多相关文章

  1. java学习之—合并两个数组并排序

    /** * 合并两个数组并排序 * Create by Administrator * 2018/6/26 0026 * 下午 4:29 **/ public class MergeApp { pub ...

  2. Java例题_31 逆序输出数组的值

    1 /*31 [程序 31 数组逆序] 2 题目:将一个数组逆序输出. 3 程序分析:用第一个与最后一个交换. 4 */ 5 6 /*分析 7 * 第一种方法:找到这个数组的中间下标,然后交换两端的数 ...

  3. java例题_34 用指正对三个数排序

    1 /*34 [程序 34 三个数排序] 2 题目:输入 3 个数 a,b,c,按大小顺序输出. 3 程序分析:利用指针方法. 4 */ 5 6 /*分析 7 * 指针方法的本质是按地址传值,将a,b ...

  4. Java数组排序基础算法,二维数组,排序时间计算,随机数产生

    import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static ...

  5. 用Java编程语言对一个无序整形数组进行排序(冒泡排序,选择排序,插入排序)

    public static void main(String[] args) { /** * 冒泡排序 * 思路:每个轮次都让第一个数和其后所有的数进行轮比较,如果这轮的第一个数大则和其下一个数交换位 ...

  6. Java OOP中的字符串篇

    字符串的三大特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String.St ...

  7. javascript:算法之数组sort排序

    数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...

  8. [原]Java面试题-将字符串中数字提取出来排序后输出

    [Title][原]Java面试题-将字符串中数字提取出来排序后输出 [Date]2013-09-15 [Abstract]很简单的面试题,要求现场在纸上写出来. [Keywords]面试.Java. ...

  9. JAVA关于字符串&&字符数组处理的小题目

    JAVA关于字符串&&字符数组的小题目 第二题:分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: ...

随机推荐

  1. idle & js

    idle & js idle meaning in js https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensi ...

  2. git config all in one

    git config git global config # git global config $ git config $ git config --list --show-origin $ gi ...

  3. 灰度发布 & A/B 测试

    灰度发布 & A/B 测试 http://www.woshipm.com/pmd/573429.html 8 https://testerhome.com/topics/15746 scree ...

  4. 为什么说NGK引领全球数字资产财富革命

    进入2020年,区块链万业迸发出巨大的能量,事实上区块链和数字经济正是未来全球财富的新方向.区块链和数字货币的增值空间巨大,是数字时代新的经济增长点.目前,全球衍生品市场价值532万亿美元,全球债务市 ...

  5. NGK英国路演圆满结束,未来科技布局看好NGK公链技术

    近日,NGK全球路演英国站在首都伦敦圆满结束.区块链业内专家.各投行精英.各市场节点代表.八大产业代表参加了此次路演.同时,英国经济学人.每日邮报.金融时报等近百家财经媒体对此路演进行了大力报道.并且 ...

  6. JDK源码阅读-DirectByteBuffer

    本文转载自JDK源码阅读-DirectByteBuffer 导语 在文章JDK源码阅读-ByteBuffer中,我们学习了ByteBuffer的设计.但是他是一个抽象类,真正的实现分为两类:HeapB ...

  7. JDBC 连接Oracle数据库 各个对象的理解

    JDBC: 1. **代码实现:(连接oracle数据库) ​    1.导入驱动jar包 ​    2.注册驱动 ​     Class.forName("oracle.jdbc.driv ...

  8. KSM概念学习

    KSM: Kernel SamePage Merging 内核同页合并 简介 KSM允许内核在两个或多个进程(包括虚拟客户机)之间共享完全相同的内存页. KSM让内核扫描检查正在运行中的程序,并比较他 ...

  9. MPAndroidChart实现LineChart(折线图)

    一.参照油管视频做法 1.引入依赖 新建Android工程,然后分别在build.gradle(Project:...)添加 maven { url 'https://jitpack.io' } 在b ...

  10. oracle数据库date类型和mysql数据库datetime类型匹配

    oracle数据库有date类型,但是没有datetime类型 mysql数据库既有date类型也有datetime类型. Oracle数据库的date类型和mysql的date类型是不一样的,Ora ...