比如,
我声明一个自己的类Account如下:
public class Account {
private double balance = 0; //存款余额
//向帐户中存款,存款金额为amount
public void deposit( double amount ) {
balance = balance + amount;
}
//从帐户中取款,取款金额为amount;取款成功返回true,否则返回false
public boolean withdraw( double amount ) {
if ( amount <= balance ) {
balance = balance - amount;
return true;
}
else return false;
}
//查询帐户的当前余额
public double getBalance() {
return balance;
}
}
又声明了一个包含main的一个主类:
public class Bank {
public static void main( String[] args ) {
//张三开一个银行帐户
Account zhang3 = new Account();
//张三存500 取00
zhang3.deposit( 500 );
if ( ! zhang3.withdraw( 100 )) System.out.println("余额不足");
//为李四开个帐户
Account li4 = new Account();
//张三从帐户取150元存入李四帐户
if ( ! zhang3.withdraw( 150 )) System.out.println("余额不足,转帐失败!");
else li4.deposit( 150 );
//查询张三和李四的帐户余额
System.out.println("张三余额为" + zhang3.getBalance());
System.out.println("李四余额为" + li4.getBalance());
}
}
可问题就出现了!我该如何用javac去编译这段程序呢?书上写,把两个文件都放在一个文件夹中,然后先编译自己的类Account然后再编译Bank类!...Account类是顺利的用javac编译成了,可Bank主运行类却提示错误,大概的意思是找不到相关的声明:
G:\Bank>javac Bank.java
Bank.java:5: cannot resolve symbol
symbol : class Account
location: class Bank
Account zhang3 = new Account();
^
Bank.java:5: cannot resolve symbol
symbol : class Account
location: class Bank
Account zhang3 = new Account();
^
Bank.java:10: cannot resolve symbol
symbol : class Account
location: class Bank
Account li4 = new Account();
^
Bank.java:10: cannot resolve symbol
symbol : class Account
location: class Bank
Account li4 = new Account();
^
4 errors
请问这个是为什么?应该如何解决这样的问题呢?新手问题比较愚蠢,还望高手多见谅,嬉:) 很急..期待回复!谢谢!
8 个解决方案
#1
张三余额为250.0
李四余额为150.0
---------------------
这个是我的运行结果...
李四余额为150.0
---------------------
这个是我的运行结果...
#2
能说说能你的配置么情况么?看样子是你的配置有问题
#3
我也是刚学java的,
刚试了一下你的程序,可以正常的,
帮不了你,帮你UP
刚试了一下你的程序,可以正常的,
帮不了你,帮你UP
#4
应该是Classpath没有设置正确!请参照环境变量设置!
#5
编译前设置环境量,path (你的jdk所在目录)\bin\
#6
刚才试了下,在eclipse里可以运行,因为自动生成了.class文件,且在同一目录下.但在dos下也出现了和楼主一样的问题,找不到Account类.其实还是classpath的问题.楼主的两个类所在的文件夹(假如:mybank在d盘)应该不在classpath里设置的文件夹里吧.解决:在classpath里添加d:\mybank就行了.但这并不是一个好的方法,你可以建一个公共的放类文件的folder.在classpath里添加,以后编译的类就在这个文件夹里去找了....建议看看TIJ\ch5\package一节.
#7
javac -cp . *****
在系统环境变量里的CLASSPATH中添加一个;.
在系统环境变量里的CLASSPATH中添加一个;.
#8
最后正确执行的方法:javac *.java
奇怪,一个个编译就有错,全部编译就没问题,郁闷!
奇怪,一个个编译就有错,全部编译就没问题,郁闷!
#1
张三余额为250.0
李四余额为150.0
---------------------
这个是我的运行结果...
李四余额为150.0
---------------------
这个是我的运行结果...
#2
能说说能你的配置么情况么?看样子是你的配置有问题
#3
我也是刚学java的,
刚试了一下你的程序,可以正常的,
帮不了你,帮你UP
刚试了一下你的程序,可以正常的,
帮不了你,帮你UP
#4
应该是Classpath没有设置正确!请参照环境变量设置!
#5
编译前设置环境量,path (你的jdk所在目录)\bin\
#6
刚才试了下,在eclipse里可以运行,因为自动生成了.class文件,且在同一目录下.但在dos下也出现了和楼主一样的问题,找不到Account类.其实还是classpath的问题.楼主的两个类所在的文件夹(假如:mybank在d盘)应该不在classpath里设置的文件夹里吧.解决:在classpath里添加d:\mybank就行了.但这并不是一个好的方法,你可以建一个公共的放类文件的folder.在classpath里添加,以后编译的类就在这个文件夹里去找了....建议看看TIJ\ch5\package一节.
#7
javac -cp . *****
在系统环境变量里的CLASSPATH中添加一个;.
在系统环境变量里的CLASSPATH中添加一个;.
#8
最后正确执行的方法:javac *.java
奇怪,一个个编译就有错,全部编译就没问题,郁闷!
奇怪,一个个编译就有错,全部编译就没问题,郁闷!