黑马程序员技术交流社区

标题: 大家帮忙解决下此程序的问题 [打印本页]

作者: 柯玲    时间: 2012-6-27 11:47
标题: 大家帮忙解决下此程序的问题
  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, 下载次数: 46)

q1

q1

作者: 柯玲    时间: 2012-6-27 11:48
我看不出来是哪里写错了,大家可以只关注main函数里面的代码就行了
作者: 吴琼    时间: 2012-6-27 11:53
我运行了是OK的

作者: 柯玲    时间: 2012-6-27 11:55
我运行老师的代码没有错误提示,这个是我自己写的,然后提示了这些,大家再仔细找找?这个问题困扰了一天呀
作者: 王莹    时间: 2012-6-27 11:56
可是,我照着你的代码原封不动地运行了一下,是可以运行出来的啊~~你看看是不是第4行,你哪里少了什么,或者用的是中文的输入什么的,要不你再试一下运行看看

我的运行结果:

作者: 吴琼    时间: 2012-6-27 11:58
你用什么软件运行的?我用Editplus运行有结果没报错.你叫我这么帮你找额
作者: Forever。    时间: 2012-6-27 11:59
美女我这里是可以运行出结果的没有异常

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

未命名.jpg

作者: 柯玲    时间: 2012-6-27 12:09
我用的Notepad++,代码是原封不动粘贴过来的,编译是放在dos命令下,这就奇怪了
作者: 柯玲    时间: 2012-6-27 12:13
还有一个奇怪的问题,若我的代码这么写:
  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, 下载次数: 47)

QQ截图20120627121238.jpg

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

...

关于这个,我运行程序的报错是  使用了未经检查或不安全的操作
作者: 柯玲    时间: 2012-6-27 20:09
从官网上下载了JDK重装,还是提示以上的错误{:soso_e101:},我电脑之前有两个JDK,一个1.5,一个1.6,前段时间都卸掉了,现在用的1.6(也是重装过好多遍)
作者: 许庭洲    时间: 2012-8-20 16:25
可能你的classpath没有配置完全,或者你用的Notepad++有些类在dos下没法调用,




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