Comparator实现字符串排序

来源:互联网 发布:网络电视有什么功能 编辑:程序博客网 时间:2024/05/29 12:14

题目1135:字符串排序

题目描述:

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

输入:

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

输出:

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

样例输入:
5sky is greycoldvery coldstop3it is good enough to be proud ofgoodit is quite good
样例输出:
coldvery coldsky is greygoodit is quite goodit is good enough to be proud of
提示:

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

15724KB948B90MS

import java.util.Arrays;import java.util.Comparator;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner cin = new Scanner(System.in);while (cin.hasNextLine()) {String tmp=cin.nextLine();if(tmp.length()==0) continue;int n = Integer.parseInt(tmp);String s[] = new String[n];int k;for (k = 0; k < n; k++) {String str = cin.nextLine();if (str.compareTo("stop") == 0) {break;} elses[k] = str;}Comparator cmp = new Comparator() {@Overridepublic int compare(Object o1, Object o2) {String s1=(String)o1;String s2=(String)o2;return s1.length() - s2.length();}};Arrays.sort(s, 0, k, cmp);for (int i = 0; i < k; i++) {System.out.println(s[i]);}}}}


0 0
原创粉丝点击