三个字符串的排序(编程1044)

三个字符串的排序

一、题目内容
题目描述
    输入三个字符串,按由小到大的顺序输出

输入格式
    3行字符串

输出格式
    按照从小到大输出成3行

样例输入
    cde
    afg
    abc
    
样例输出
    abc
    afg
    cde
二、思路分析

​ 因为是字符串判断,第一时间想到ASCII码,原来打算是想到将三个字符串放进字符产数组,然后通过依次比较ASCII码大小来排序,后面发现可以用Arrays.sort() 方法对字符串数组进行排序。

实现原理:

​ Java 中,String 类实现了 Comparable 接口,该接口定义了一个 compareTo() 方法。这个方法的作用是比较当前字符串对象与另一个字符串对象的大小关系,并返回一个整数值。具体来说,compareTo() 方法会按照以下规则进行比较:

  1. 如果当前字符串对象小于另一个字符串对象,返回一个负数。
  2. 如果当前字符串对象等于另一个字符串对象,返回0。
  3. 如果当前字符串对象大于另一个字符串对象,返回一个正数。

在排序过程中,Arrays.sort() 方法会使用 compareTo() 方法的返回值来确定元素的排序顺序。根据排序的顺序,数组中的元素会被重新排列。

例如,假设有一个字符串数组 arr = {“banana”, “apple”, “orange”}。在调用 Arrays.sort(arr) 之后,该方法会先比较 “banana” 和 “apple”,由于 “banana” 大于 “apple”,所以它们的顺序不变。然后,比较 “banana” 和 “orange”,由于 “banana” 小于 “orange”,它们的顺序会交换。最后,比较 “apple” 和 “orange”,由于 “apple” 小于 “orange”,它们的顺序也会交换。最终,数组的排序结果为 {“apple”, “banana”, “orange”}。

注意:

1.Java 中字符串对象的比较是基于字符串的字符顺序进行的,即每个字符逐个比较

2.在 compareTo() 方法中,字符串会从第一个字符开始逐个比较,如果两个字符不同,则根据它们的 Unicode 值来确定它们的相对顺序。如果所有字符都相同,则比较字符串的长度,较短的字符串会被认为是小于较长的字符串

3.Java 中的字符串比较默认是区分大小写的。如果需要忽略大小写进行比较,可以使用 compareToIgnoreCase() 方法。

三、代码实现
public class _1044 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] arr = new String[3];
        arr[0] = sc.nextLine();
        arr[1] = sc.nextLine();
        arr[2] = sc.nextLine();
        Arrays.sort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

不足之处,请留言指教

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值