菜鸟求高手解答

yoshikis 2012-03-31 11:47:28
假设在子目录c:\javatest\ex\ch04下建立如下文件:
//A.java
package ex.ch04;
public class A
{
public A() { }
}
然后,在子目录c:\javatest\ex\ch04\main下建立如下文件:
//B.java
package ex.ch04.main;
import ex.ch04.*;
class B
{
public static void main(String args[])
{
A a=new A();
}
}

编译B.java为什么会出现 “找不到符号”的信息?
小弟刚入门,求高手解答。
...全文
245 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
saygoodbyetoyou 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

环境变量classpath下面把路径添加上去。也就是c:\javatest\ex\,注意添加的时候在前一句前面添加英文下半角符号“;”跟c:\javatest\ex\分隔开。然后执行你的B程序就可以了
还是不行,还是原来一样找不到符号: B.java:6:找不到符号,
……
[/Quote]

saygoodbyetoyou 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

环境变量classpath下面把路径添加上去。也就是c:\javatest\ex\,注意添加的时候在前一句前面添加英文下半角符号“;”跟c:\javatest\ex\分隔开。然后执行你的B程序就可以了
还是不行,还是原来一样找不到符号: B.java:6:找不到符号,
……
[/Quote]

http://img.my.csdn.net/uploads/201204/03/1333423122_2062.jpg
saygoodbyetoyou 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

环境变量classpath下面把路径添加上去。也就是c:\javatest\ex\,注意添加的时候在前一句前面添加英文下半角符号“;”跟c:\javatest\ex\分隔开。然后执行你的B程序就可以了
还是不行,还是原来一样找不到符号: B.java:6:找不到符号,
……
[/Quote]

非得要我给你贴图么?我完全是按照你的路径在我的电脑上建立的目录
LuckBoy 2012-04-03
  • 打赏
  • 举报
回复
好像是mai方法要写一以public 修饰的类里,你的第二个class B 没有public 你的mai 方法应该放在A里面。
saygoodbyetoyou 2012-04-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:

环境变量classpath下面把路径添加上去。也就是c:\javatest\ex\,注意添加的时候在前一句前面添加英文下半角符号“;”跟c:\javatest\ex\分隔开。然后执行你的B程序就可以了
还是不行,还是原来一样找不到符号: B.java:6:找不到符号,
……
[/Quote]
补充一下,不用先编译A.java 直接编译B.java
棒棒不是糖_ 2012-04-03
  • 打赏
  • 举报
回复
我来回答下吧,虽然是新手,我这几天也在纠结这些东西。

第一,你B.java里面有导入包,则必须将包的路径设置到classpath里面,在环境变量里面设置吧。添加这个路径进去,记住必须加分号,c:\javatest\ex\ch04
第二,然后在编译A.java
第三,最后编译B.java,再执行B,此时因为B类也进行了打包,执行B的时候记得加上包名,既
java ex.ch04.main.B

fanyihe 2012-04-02
  • 打赏
  • 举报
回复
把A.java源文件删除试试
Brave_ly 2012-04-02
  • 打赏
  • 举报
回复
用eclipse吧,这个工具方便多了。
yoshikis 2012-04-02
  • 打赏
  • 举报
回复
求高手指点。为什么找不到符号?上面各位说的都没起什么作用。
神仙学习 2012-04-01
  • 打赏
  • 举报
回复
环境变量classpath下面把路径添加上去。也就是c:\javatest\ex\,注意添加的时候在前一句前面添加英文下半角符号“;”跟c:\javatest\ex\分隔开。然后执行你的B程序就可以了
saygoodbyetoyou 2012-04-01
  • 打赏
  • 举报
回复
如果你是在命令行编译的话 可以暂时改一下classpath:
set classpath=%classpath%;c:\javatest (只在当前命令行窗口有效)

然后到main下javac b.java

洗洗睡吧 蛋疼...
saygoodbyetoyou 2012-04-01
  • 打赏
  • 举报
回复
如果你是在命令行编译的话 可以暂时改一下classpath:
set classpath=%classpath%;c:\javatest (只在当前命令行窗口有效)

然后你就可以到main下javac b.java

洗洗睡吧 蛋疼...

saygoodbyetoyou 2012-04-01
  • 打赏
  • 举报
回复
如果你是在命令行编译的话 可以暂时改一下classpath:
set classpath=%classpath%;c:\javatest (只在当前命令行窗口有效)

然后你就可以到main下javac b.java

洗洗睡吧 蛋疼...

yoshikis 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

你应该设置两个环境变量c:/javatest/ex/ch04和c:/javatest/ex/ch04/main
[/Quote]设置了,还是找不到符号。。==||怎么办啊
醉剑 2012-04-01
  • 打赏
  • 举报
回复
你应该设置两个环境变量c:/javatest/ex/ch04和c:/javatest/ex/ch04/main
yoshikis 2012-04-01
  • 打赏
  • 举报
回复
ch04文件夹有A.class,我设置好环境变量c:\javatest\ex\ch04\main还是找不到符号,再求高手指点
sdojqy1122 2012-04-01
  • 打赏
  • 举报
回复
ch04文件夹中a.class
sdojqy1122 2012-04-01
  • 打赏
  • 举报
回复
楼主先编译a,在编译b。确认a.class文件存在于ex/ch04(两个文件夹) 中。
sdojqy1122 2012-04-01
  • 打赏
  • 举报
回复
楼主你的class B 不加public吗?
yoshikis 2012-04-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

环境变量classpath下面把路径添加上去。也就是c:\javatest\ex\,注意添加的时候在前一句前面添加英文下半角符号“;”跟c:\javatest\ex\分隔开。然后执行你的B程序就可以了
[/Quote] 还是不行,还是原来一样找不到符号: B.java:6:找不到符号,
符号:类A
位置:类javatest.ex.main.B
A a=new A();
2错误

62,612

社区成员

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

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