7-6 字符串排序--string类的使用

先输入你要输入的字符串的个数。然后换行输入该组字符串。每个字符串以回车结束,每个字符串不多于一百个字符。
如果在输入过程中输入的一个字符串为“stop”,也结束输入。
然后将这输入的该组字符串按每个字符串的长度,由小到大排序,按排序结果输出字符串。如果存在多个字符串长度相同,则按照原始输入顺序输出。

输入格式:

字符串的个数,以及该组字符串。每个字符串以‘\n’结束。如果输入字符串为“stop”,也结束输入.

输出格式:

可能有多组测试数据,对于每组数据,
将输入的所有字符串按长度由小到大排序输出(如果有“stop”,不输出“stop”)。

输入样例:

4
faeruhyytrjh tjytj
hsrthts   hjnshtgfhs
stop
3
htrskbns
bsartanjsf tyjndyt
nsr jj jtey

输出样例:

faeruhyytrjh tjytj
hsrthts   hjnshtgfhs
htrskbns
nsr jj jtey
bsartanjsf tyjndyt

###提示:
根据输入的字符串个数来动态分配存储空间(采用new()函数)。每个字符串会少于100个字符。
测试数据有多组,注意使用while()循环输入。

代码展示:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            int n = sc.nextInt();
            sc.nextLine();
            ArrayList strings = new ArrayList<>();
            for (int i = 0; i < n; i++) {
                String str = sc.nextLine();
                if ("stop".equals(str)) {
                    break;
                }
                strings.add(str);
            }

            Collections.sort(strings, Comparator.comparingInt(String::length));
            for (String str : strings) {
                System.out.println(str);
            }
        }
        sc.close();
    }
}

运行结果:

 7-6 字符串排序--string类的使用_第1张图片

7-6 字符串排序--string类的使用_第2张图片 

你可能感兴趣的:(java,开发语言)