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. 如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python 注释

    如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python  注释 PIP $ pip install beauti ...

  2. flutter 混合开发

    flutter 混合开发 https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps https://flutter.de ...

  3. Kotlin & Android & Swift & Flutter & React Native

    Kotlin & Android https://www.runoob.com/kotlin/kotlin-tutorial.html Swift 5 & iOS 12 https:/ ...

  4. Docker & Node.js

    Docker & Node.js https://nodejs.org/en/docs/guides/nodejs-docker-webapp/ https://docs.docker.com ...

  5. NGK全球行伦敦站,SPC推动全球数字金融创新

    近日,NGK全球巡回路演在英国的首都伦敦盛大落幕,此次路演有幸邀请到了西欧区块链业界弗洛伊德大咖,NGK方面代表鲍利斯以及英国及其组周边国家社群意见代表马丁内斯等人,总计参与人数达到了数十人. 路演一 ...

  6. 图片居中的flex实现

    文本居中 text-align:center; 如果是图片放在div中,就没办法了.用flex可以很简单实现. display: flex; justify-content: center; /* 图 ...

  7. 如何让别人访问我的电脑的vue项目

    步骤: 1.关闭防火墙. 2.修改build/webpack.dev.conf.js中的"const HOST = process.env.HOST"为"const HO ...

  8. yum install valgrind.x86_64

    Reference: https://cloudlinux.zendesk.com/hc/en-us/articles/115004075294-Fix-rpmdb-Thread-died-in-Be ...

  9. IO、NIO、BIO的区别

    我们首先得明白什么是同步,异步,阻塞,非阻塞,只有这几个单个概念理解清楚了,然后在组合理解起来,就相对比较容易了. IO模型主要分类: 同步(synchronous) IO和异步(asynchrono ...

  10. 调度场算法&&中缀表达式=>后缀表达式

    #include<stdio.h> #include<string.h> int main(void){ char ch,stro[1001],stack[1001]; int ...