痛苦的初学者,错误接二连三:( 编译问题。

gdy1039 2005-01-04 09:36:59
//PrintingContainers.java
import java.util.*;
public class PrintingContainers{
static Collection fill(Collection c) {
c.add("dog");
c.add("dog");
c.add("cat");
return c;
}
static Map fill(Map m){
m.put("dog", "bosco");
m.put("dog", "spot");
m.put("cat", "rags");
return m;
}
public static void main(String[] args){
System.out.println(fill(new ArrayList() )); //这行出错。
System.out.println(fill(new HashSet()));
System.out.println(fill(new HashMap()));
}
}
我完全按THINKING IN JAVA第二版里面写的,却出错。错误如下:
D:\Java>javac PrintingContainers.java
PrintingContainers.java:17: cannot access ArrayList
bad class file: .\ArrayList.java
file does not contain class ArrayList
Please remove or make sure it appears in the correct subdirectory of the classpa
th.
System.out.println(fill(new ArrayList() ));
^
Note: PrintingContainers.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
***********************************************************
但是JDK文档里面也明明写着这个类,真是烦人。请教有人知道为什么吗?
...全文
145 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
gdy1039 2005-01-16
  • 打赏
  • 举报
回复
是我那个目录里面现有的.CLASS的问题,我把所有文件删除,再写就没问题。
knight_yl 2005-01-05
  • 打赏
  • 举报
回复
查找rt.jar
然后javac -classpath "x:xxx\xxx\rt.jar" PrintingContainers.java

java -classpath "x:xxx\xxx\rt.jar" PrintingContainers
knight_yl 2005-01-05
  • 打赏
  • 举报
回复
查找rt.jar
然后javac -classpath "x:xxx\xxx\rt.jar"
java -classpath "x:xxx\xxx\rt.jar"
tom2005 2005-01-05
  • 打赏
  • 举报
回复
ArrayList.java

当前路经下是不是有这个文件,删掉试试
LBritney 2005-01-05
  • 打赏
  • 举报
回复
没错 ...怎么回事呢?
classjava 2005-01-04
  • 打赏
  • 举报
回复
楼主的代码是正确的
yeyu710 2005-01-04
  • 打赏
  • 举报
回复
是啊,我也复制了你的代码,并且一次就编译运行通过了啊!!!
wuxd02 2005-01-04
  • 打赏
  • 举报
回复
哪你的JDK是哪个版本,所有的版本运行HelloWorld.java都没有问题。因为你的程序我一个字没有改就能编译也能运行了,我只是考过了就可以,上面就是我设置环境变量和编译的过程与结果!
gdy1039 2005-01-04
  • 打赏
  • 举报
回复
我写HelloWorld.java没问题,也能编译和运行,证明JDK应该没错吧。
并且上面的程序它只说ArrayList这行有错,HashSet这些行都没错,这些行没错应该证明java.util.*已经被正确导入了吧.
wuxd02 2005-01-04
  • 打赏
  • 举报
回复
同意楼上的,你看看吧,下面这个就是我考下你的代码编译执行的
D:\test>set path=C:\j2sdk1.4.0-rc\bin;

D:\test>set classpath=.;C:\j2sdk1.4.0-rc\lib;

D:\test>javac PrintingContainers.java

D:\test>java PrintingContainers
[dog, dog, cat]
[dog, cat]
{dog=spot, cat=rags}
Tp0cs 2005-01-04
  • 打赏
  • 举报
回复
你是不是类的路径配置的问题呀?
wuxd02 2005-01-04
  • 打赏
  • 举报
回复
你看一下你的JDK版本,我用JDK1.4编译没有问题,就是你这一段程序我考下直接编译就能通过!!

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧