问题+代码:

创建一个长度是8的字符串数组
使用8个长度是5的随机字符串初始化这个数组
对这个数组进行排序,按照每个字符串的首字母排序(无视大小写)

注1: 不能使用Arrays.sort() 要自己写
注2: 无视大小写,即 Axxxx 和 axxxxx 没有先后顺序

toLowerCase() 方法用于将大写字符转换为小写。
toCharArray() 方法将字符串转换为字符数组。

charAt()方法获取某位置字符

getchars(start,end,目标字符串,起始位置0或者其他数字);

package Fengzhaung;import java.util.Arrays;
import java.util.Random;public class demoo1 {public static void main(String[] args) {Random random=new Random();String[] str=new String[8];//创建一个长度是8的字符串数组//使用8个长度是5的随机字符串初始化这个数组for (int i = 0; i <8; i++) {//随机字符串生成法char c[]=new char[5] ;for (int j = 0; j <5 ; j++) {char temp;if(random.nextInt(2)==0){//0-1相当于一个判断temp=(char)(random.nextInt(26)+65);//65-90 大写字母}elsetemp=(char)(random.nextInt(26)+97);//97-122 小写字母c[j]=temp;}str[i]=new String(c);}System.out.println(Arrays.toString(str));System.out.println("排序好后的字符串数组是:");for (int i = 0; i < 8; i++){int min = i;for (int j = i; j < 8; j++){if(Character.toLowerCase(str[j].toCharArray()[0])<Character.toLowerCase(str[min].toCharArray()[0])) //比较第一个字母min=j;}//交换,如果str[j]第一个字母<str[min]第一个字母//这时候min=j;字符串数组中最小的//交换str[i] 和str[min]String temp = str[i];str[i] = str[min];str[min] = temp;}System.out.println(Arrays.toString(str));}
}


这样写也行:

  for (int j = i; j < 8; j++){//                if(Character.toLowerCase(str[j].toCharArray()[0])<
//                        Character.toLowerCase(str[min].toCharArray()[0])) //比较第一个字母
//                    min=j;
if(Character.toLowerCase(str[j].charAt(0))<Character.toLowerCase(str[min].charAt(0)))min=j;}`

java-字符串数组排序相关推荐

  1. java字符串数组排序_在Java中对字符串数组进行排序

    允许用户使用字符串数组.他们可以向数组添加字符串,从数组中删除字符串,搜索数组中的字符串,最终他们将能够对数组进行排序.分类是搞砸我的原因.我尝试过几种不同的方法.第一种方法是将数组转换为ArrayL ...

  2. java字符串转字符串数组_Java字符串数组

    java字符串转字符串数组 Java String array is used to hold fixed number of Strings. String array is very common ...

  3. java数组给名字排序_用Java给数组排序

    public class BubbleDemo { public static void main(String[] args) { int arr[]={1,3,5,7,2,4,6,8,9}; bu ...

  4. java 字符串总结_Java中字符串(String)总结

    先说说JDK API: JDK中包含大量的API类库,所谓API(Application Programming Interface,应用程序编程接口,这些功能以类的形式封装). JDK API包含的 ...

  5. java字符串的知识总结

    java字符串的基本概念 字符串是java特殊的类,使用方法像一般的基本数据类型. 声明字符串的方法: 字符串类型  字符串名字 = 字符串内容 例如 String str="hello&q ...

  6. Java字符串就该这样设计

    一翻开Java面试题,基本上都会有考察字符串的不可变性,new String()和""的区别,字符串+内部实现等相关问题,您可能也知道常量池,看了一些堆栈图,了解了上述答案,可是过 ...

  7. java 字符串大小比较

    //java 字符串大小比较 String a="b123"; String b="b124";String d="b122"; Strin ...

  8. 【转】Java字符串与字符集的基本概念

    原文地址:http://blog.csdn.net/darxin/article/details/5079242 Java String是Java API中最常用的类,本文和大家谈谈String类的内 ...

  9. Java字符串用“。”(点)分隔。

    本文翻译自:Java string split with "." (dot) [duplicate] This question already has an answer her ...

  10. Java字符串真的不可变吗?

    本文翻译自:Is a Java string really immutable? We all know that String is immutable in Java, but check the ...

最新文章

  1. Recyclerview 出现 java.lang.IndexOutOfBoundsException: Inconsistency detected 异常
  2. Android --- Unable to resolve dependency for ‘:app@debug/compileClasspath‘: Could not resolve com.a
  3. python数据分析_上海交大学姐带你10分钟学会Python数据分析_python_教育
  4. 1041 Be Unique
  5. kernel 3.10内核源码分析--内核栈及堆栈切换
  6. 综合应用能力计算机类考什么用,综合应用能力考什么内容
  7. 消息中间件ActiveMQ、RabbitMQ、RocketMQ、ZeroMQ、Kafka如何选型
  8. 前端学习(1843):前端面试题之vue管理状态
  9. FineReport实现java报表统计图表的效果图
  10. Django--模板语言
  11. 实验五 数据结构综合应用 20162305
  12. 联邦调查局严重夸大了加密威胁数字,从而想获得对手机的访问权限
  13. fl2440hello world模块驱动编写
  14. 番禺区天气预报软件测试,天气预报模块测试用例(P707)
  15. 关于mac打开互联网下载应用提示的解决方法
  16. 蓝筹股是什么意思?低估值蓝筹股有哪些?拥有蓝筹股的好处?
  17. 谈谈对 JWT 理解
  18. [ 树形DP ] BZOJ4987
  19. vivox50支持鸿蒙,vivo X50厚度刷新纪录:迄今为止最薄5G手机
  20. 不错的学习金字塔模型

热门文章

  1. MATLAB consolas字体中文显示乱码问题
  2. 无线网如何访问服务器公共盘,如何访问双频无线路由器网络共享服务器
  3. php 批量改文件名后缀名_PHP 批量修改文件名/文件后缀名(扩展名)
  4. 台北淡水渔人码头的风景
  5. [计算机毕业设计]改进粒子群算法的监测资源调度
  6. 视频教程-2019中国大数据技术大会-其他
  7. java aarch64_aarch64环境下,搭建并配置服务器tomcat:
  8. 《数值分析》-- 拉格朗日插值
  9. 抓包mysql乱码_抓包数据乱码是什么情况?
  10. WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第一步-数据整理)