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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

                // 1、键盘录入字符串 Scanner
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入一个字符串");
                String line = sc.nextLine();
                //2、将字符串转换为字符数组
                char[] arr = line.toCharArray();
                //3、定义TreeSet集合,传入比较器并保留
                TreeSet<Character> ts = new TreeSet<>(new Comparator<Character>() {
                        @Override
                        public int compare(Character c1,Character c2){
                        int num = c1.compareTo(c2);
                        //int num = c1 - c2;   //自动装箱
                        return num == 0 ? 1 : num;
                }
                });
               
                //4、遍历字符数组,将每一个字符存储在TreeSet集合中
                for (char c : ts) {
                        ts.add(c);       //自动拆箱
                        System.out.println("*************");
                }
                //5、遍历该集合,打印每一个字符
                for (Character c1 : ts) {               
                        System.out.print(c1);
                }
               
                System.out.println("*************");
        }

}
//注 此程序有问题,两个for循环没有执行,即不能输出

4 个回复

倒序浏览
我打断点调试了一下,执行到for循环就直接跳过。。。为啥呢
回复 使用道具 举报
arr数组你忘记存到tree里了
回复 使用道具 举报
ameanboy 发表于 2016-3-16 12:30
arr数组你忘记存到tree里了

我那儿的     “  //4、遍历字符数组,将每一个字符存储在TreeSet集合中”注释下的代码就是将数组存储在TreeSet集合啊,可是第一个for循环就没进去
回复 使用道具 举报
arr数组你忘记存到tree里
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马