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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 柯玲 中级黑马   /  2012-6-27 11:47  /  3288 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import java.util.*;
  2. class GenericDemo2{
  3. public static void main(String[] args){
  4. TreeSet<String> ts = new TreeSet<String>(new LenComparator());
  5. ts.add("abc");
  6. ts.add("hahaha");
  7. ts.add("a");
  8. ts.add("acd");
  9. Iterator<String> it=ts.iterator();
  10. while(it.hasNext()){
  11. System.out.println(it.next());
  12. }
  13. }
  14. }
  15. class LenComparator implements Comparator<String>{
  16. public int compare(String o1,String o2){
  17. int num=new Integer(o1.length()).compareTo(new Integer(o2.length()));
  18. if(num==0){
  19. return o1.compareTo(o2);
  20. }
  21. return num;
  22. }
  23. }
复制代码
编译时出现如下错误提示:

QQ截图20120627114215.jpg (25.33 KB, 下载次数: 53)

q1

q1

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

15 个回复

倒序浏览
我看不出来是哪里写错了,大家可以只关注main函数里面的代码就行了
回复 使用道具 举报
我运行了是OK的
回复 使用道具 举报
我运行老师的代码没有错误提示,这个是我自己写的,然后提示了这些,大家再仔细找找?这个问题困扰了一天呀
回复 使用道具 举报
可是,我照着你的代码原封不动地运行了一下,是可以运行出来的啊~~你看看是不是第4行,你哪里少了什么,或者用的是中文的输入什么的,要不你再试一下运行看看

我的运行结果:
回复 使用道具 举报
你用什么软件运行的?我用Editplus运行有结果没报错.你叫我这么帮你找额
回复 使用道具 举报
美女我这里是可以运行出结果的没有异常

未命名.jpg (155.58 KB, 下载次数: 50)

未命名.jpg
回复 使用道具 举报
柯玲 中级黑马 2012-6-27 12:09:07
8#
我用的Notepad++,代码是原封不动粘贴过来的,编译是放在dos命令下,这就奇怪了
回复 使用道具 举报
柯玲 中级黑马 2012-6-27 12:13:15
9#
还有一个奇怪的问题,若我的代码这么写:
  1. import java.util.*;
  2. class GenericDemo2{
  3. public static void main(String[] args){
  4. TreeSet ts = new TreeSet();
  5. ts.add("abc");
  6. ts.add("hahaha");
  7. ts.add("a");
  8. ts.add("acd");
  9. Iterator it=ts.iterator();
  10. while(it.hasNext()){
  11. System.out.println(it.next());
  12. }
  13. }
  14. }
复制代码
会出现下面的错误,为什么这么奇怪呢

QQ截图20120627121238.jpg (48.38 KB, 下载次数: 53)

QQ截图20120627121238.jpg
回复 使用道具 举报
你确定你的JDK是5.0版本以后的吗?
回复 使用道具 举报
这是我JDK的全称:jdk-6u11-windows-i586-p.exe
回复 使用道具 举报
你的问题太诡异了,你的代码我运行是正常的。
回复 使用道具 举报
表示我运行结果是正常的,但是楼主出现的问题的确是存在的,那么这就说明了一个问题,楼主你的jdk版本和我们不对,或许是安装不完全吧,里边对于TreeSet这个函数的使用存在问题,无法传递参数,建议楼主你重装一下jdk,或者把代码放你同学电脑上运行一下,如果可以,把你同学的jdk拷贝将你的覆盖掉
回复 使用道具 举报
柯玲 发表于 2012-6-27 12:13
还有一个奇怪的问题,若我的代码这么写:会出现下面的错误,为什么这么奇怪呢

...

关于这个,我运行程序的报错是  使用了未经检查或不安全的操作
回复 使用道具 举报
从官网上下载了JDK重装,还是提示以上的错误{:soso_e101:},我电脑之前有两个JDK,一个1.5,一个1.6,前段时间都卸掉了,现在用的1.6(也是重装过好多遍)
回复 使用道具 举报
可能你的classpath没有配置完全,或者你用的Notepad++有些类在dos下没法调用,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马