A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hnyzhlq 中级黑马   /  2015-7-11 16:53  /  435 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. /**
  2. * 7、 编写程序,循环接收用户从键盘输入多个字符串,直到输入“end”时循环结束,
  3. * 并将所有已输入的字符串按字典顺序倒序打印。
  4. */
  5. import java.util.*;
  6. import java.io.*;
  7. class Test7
  8. {
  9.         public static void main(String[] args) throws IOException
  10.         {
  11.                 //按比较器方法比较
  12.                 TreeSet<String> ts = new TreeSet<String>(new NewSort() );
  13.                 //建立键盘录入的输入流
  14.                 BufferedReader br =
  15.                                 new BufferedReader(new InputStreamReader(System.in));
  16.                 //讲录入字符存入集合
  17.                 while(true){
  18.                         String str = br.readLine();
  19.                         if (str.equals("end"))
  20.                                 break;
  21.                         ts.add(str);
  22.                 }
  23.                 br.close();
  24.                 //迭代打印集合
  25.                 Iterator<String> it = ts.iterator();
  26.                 while(it.hasNext()){
  27.                         System.out.println(it.next());
  28.                 }
  29.        
  30.         }
  31. }
  32. //实现比较器
  33. class NewSort implements Comparator<String>{
  34.         public int compare(String s1,String s2){
  35.                 //因为小写都大于大写,不符合字典规律,所以如果是字母全部转换为大写再比较
  36.                 return s2.toUpperCase().compareTo(s1.toUpperCase());
  37.         }
  38. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马