这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战
点赞再看,养成习惯。微信搜索【一条coding】关注这个在互联网摸爬滚打的程序员。
本文收录于技术专家修炼,里面有我的学习路线、系列文章、面试题库、自学资料、电子书等。欢迎star⭐️
题目描述
难度:简单
将下列字符串按照字母表顺序排序,
"door","apple","Apple","dooe","boy"
输出实例:
Apple apple boy dooe door
知识点
- 双重循环
- compareTo()
解题思路
按照逐位对比的思路,用for循环一一比对,但是字符串的比较的不像数字可以直接比较大小,除了转换为char类型比较阿斯克码外,还可以使用compareTo()
。
compareTo() 方法用于两种方式的比较:
- 字符串与对象进行比较。
- 按字典顺序比较两个字符串。
返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的长度差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。
- 如果参数字符串等于此字符串,则返回值 0;
- 如果此字符串小于字符串参数,则返回一个小于 0 的值;
- 如果此字符串大于字符串参数,则返回一个大于 0 的值。
代码实现
/**
* 将若干个字符串按字典顺序排
* 一条coding
*/
public class question_16 {
public static void main(String[] args) {
String a[]={"door","apple","Apple","dooe","boy"};
for(int i=0;i<a.length-1;i++) {
for(int j=i+1;j<a.length;j++) {
if(a[j].compareTo(a[i])<0) {
String temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+"\n");
}
}
}
输出结果
扩展总结
在Java8中,利用新特性stream
的sort()
方法可能更方便的实现排序。
最后
独脚难行,孤掌难鸣,一个人的力量终究是有限的,一个人的旅途也注定是孤独的。当你定好计划,怀着满腔热血准备出发的时候,一定要找个伙伴,和唐僧西天取经一样,师徒四人团结一心才能通过九九八十一难。 所以,
如果你想学好Java
想进大厂
想拿高薪
想有一群志同道合的伙伴
请加入技术交流