黑马程序员技术交流社区

标题: 从键盘接收一个字符串, 程序对其中所有字符进行排序,例... [打印本页]

作者: vvvvvc    时间: 2016-6-4 00:46
标题: 从键盘接收一个字符串, 程序对其中所有字符进行排序,例...
  1. public static void main(String[] args) {
  2.                 //1,键盘录入字符串,Scanner
  3.                 Scanner sc = new Scanner(System.in);
  4.                 System.out.println("请输入一个字符串");
  5.                 String line = sc.nextLine();
  6.                 //2,将字符串转换为字符数组
  7.                 char[] arr = line.toCharArray();
  8.                 //3,定义TreeSet集合,传入比较器对字符排序并保留重复
  9.                 TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>() {

  10.                         @Override
  11.                         public int compare(Character c1, Character c2) {
  12.                                 //int num = c1 - c2;                                //自动拆箱
  13.                                 int num = c1.compareTo(c2);
  14.                                 return num == 0 ? 1 : num;
  15.                         }
  16.                 });
  17.                
  18.                 //4,遍历字符数组,将每一个字符存储在TreeSet集合中
  19.                 for(char c : arr) {
  20.                         ts.add(c);                                                        //自动装箱
  21.                 }
  22.                
  23.                 //5,遍历TreeSet集合,打印每一个字符
  24.                 for(Character c : ts) {
  25.                         System.out.print(c);
  26.                 }
  27.         }

  28. }
复制代码







作者: 一架飞机CE3    时间: 2016-6-4 00:50
这代码还可以优化 至少还可以节省一行代码




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2