【发布时间】:2012-03-13 08:18:10
【问题描述】:
我需要在前面加上我不允许在课堂上使用 IDE,我必须使用 TextPad 来编译和运行。任何帮助将不胜感激。
这里有两个文件,一个叫做 Account,另一个叫做 Lab4B。任务是创建和使用以下文件: Lab4B.java = 分配的驱动程序代码类 (Lab4B) 的源代码 Account.java = Account 类的源代码
说明如下: 设计一个名为 Account 的类(包含
- 帐户的名为 id 的私有 int 数据字段(默认为 0)。
- 帐户的名为 balance 的私有双精度数据字段(默认为 0)。
- 一个名为 AnnualInterestRate 的私有双数据字段,用于存储当前利率(默认为 0)。假设所有帐户的利率相同。
- 一个名为 dateCreated 的私有日期数据字段,用于存储帐户的创建日期。
- 创建默认帐户的无参数构造函数。
- 创建具有指定 ID 和初始余额的帐户的构造函数。
- id、balance 和annualInterestRate 的访问器和修改器方法。
- dateCreated 的访问器方法。
- 名为 getMonthlyInterestRate() 的方法返回月利率。
- 一种名为withdraw 的方法,用于从帐户中提取指定金额。
- 一种名为 deposit 的方法,用于从帐户中存入指定金额。
我收到以下错误: 错误出现在我编译“Lab4B”文件时。
F:\Java\Lab 4b\Lab4B.java:13: error: cannot find symbol
Account account = new Account(5544, 45000, 0.036);
^
symbol: class Account
location: class Lab4B
F:\Java\Lab 4b\Lab4B.java:13: error: cannot find symbol
Account account = new Account(5544, 45000, 0.036);
^
symbol: class Account
location: class Lab4B
2 errors
“账户”代码如下:
import java.util.Scanner;
import java.util.Date;
public class Account
{
int id = 0;
double balance = 0;
double annualInterestRate = 0;
Date dateCreated;
public Account()
{
}
public Account(int id, double balance, double annualInterestRate)
{
this.id = id;
this.balance = balance;
this.annualInterestRate = annualInterestRate;
this.dateCreated = new Date();
}
public void setID (int id)
{
this.id = id;
}
public int getID()
{
return this.id;
}
public void setBalance (double balance)
{
this.balance = balance;
}
public double getbalance()
{
return this.balance;
}
public void setAnnualInterestrate (double annualInterestRate)
{
this.annualInterestRate = annualInterestRate;
}
public double getAnnualInterestrate()
{
return this.annualInterestRate;
}
public Date getDateCreated()
{
return this.dateCreated;
}
public double getMonthlyInterestRate()
{
return (this.annualInterestRate) / 12;
}
public void withdraw(double amount)
{
this.balance -= amount;
System.out.println ("After withdrawing $"+amount +" the balance in your account is: $ " +this.balance +"\n");
}
public void deposit(double amount)
{
this.balance += amount;
System.out.println(" After making a deposit of $"+amount +" the balance in your account is: $" +this.balance + "\n");
}
}
Lab4B 文件的代码如下:
public class Lab4B
{
public static void main(String[] args)
{
// Creates an instance of Account
Account account = new Account(5544, 45000, 0.036);
// Sets default amounts
account.setID(5544);
account.setBalance(45000);
account.setAnnualInterestRate(0.036);
account.withdraw(3700);
account.deposit(2200);
// Prints output
System.out.println ("Account number: \n"+ +account.getID());
System.out.println ("The account balance is: $ \n" + +account.getbalance());
System.out.println ("The monthly interest earned is: $ \n" + +account.getbalance() * account.annualInterestRate());
System.out.println ("The account was created on: \n" + +account.getdateCreated());
}
}
这是我从 javac 命令行编译器中得到的错误建议:
C:\>javac Lab4B.java
Lab4B.java:5: error: package mypackage does not exist
import mypackage.Account;
^
Lab4B.java:15: error: cannot find symbol
Account account = new Account(5544, 45000, 0.036);
^
symbol: class Account
location: class Lab4B
Lab4B.java:15: error: cannot find symbol
Account account = new Account(5544, 45000, 0.036);
^
symbol: class Account
location: class Lab4B
3 errors
这里是 javac -verbose 输出:
C:\Users\kschultz>cd\
C:\>javac -verbose Lab4B.java
[parsing started RegularFileObject[Lab4B.java]]
[parsing completed 12ms]
[search path for source files: .C:\Program Files (x86)\Java\jdk1.7.0_02\lib,C:\P
rogram Files (x86)\Java\jre6\lib\ext\QTJava.zip]
[search path for class files: C:\Program Files (x86)\Java\jdk1.7.0_02\jre\lib\re
sources.jar,C:\Program Files (x86)\Java\jdk1.7.0_02\jre\lib\rt.jar,C:\Program Fi
les (x86)\Java\jdk1.7.0_02\jre\lib\sunrsasign.jar,C:\Program Files (x86)\Java\jd
k1.7.0_02\jre\lib\jsse.jar,C:\Program Files (x86)\Java\jdk1.7.0_02\jre\lib\jce.j
ar,C:\Program Files (x86)\Java\jdk1.7.0_02\jre\lib\charsets.jar,C:\Program Files
(x86)\Java\jdk1.7.0_02\jre\classes,C:\Program Files (x86)\Java\jdk1.7.0_02\jre\
lib\ext\dnsns.jar,C:\Program Files (x86)\Java\jdk1.7.0_02\jre\lib\ext\localedata
.jar,C:\Program Files (x86)\Java\jdk1.7.0_02\jre\lib\ext\sunec.jar,C:\Program Fi
les (x86)\Java\jdk1.7.0_02\jre\lib\ext\sunjce_provider.jar,C:\Program Files (x86
)\Java\jdk1.7.0_02\jre\lib\ext\sunmscapi.jar,C:\Program Files (x86)\Java\jdk1.7.
0_02\jre\lib\ext\sunpkcs11.jar,C:\Program Files (x86)\Java\jdk1.7.0_02\jre\lib\e
xt\zipfs.jar,.C:\Program Files (x86)\Java\jdk1.7.0_02\lib,C:\Program Files (x86)
\Java\jre6\lib\ext\QTJava.zip]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.7.0_02\lib\ct.s
ym(META-INF/sym/rt.jar/java/lang/Object.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.7.0_02\lib\ct.s
ym(META-INF/sym/rt.jar/java/lang/String.class)]]
[checking Lab4B]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.7.0_02\lib\ct.s
ym(META-INF/sym/rt.jar/java/lang/AutoCloseable.class)]]
Lab4B.java:13: error: cannot find symbol
Account account = new Account(5544, 45000, 0.036);
^
symbol: class Account
location: class Lab4B
Lab4B.java:13: error: cannot find symbol
Account account = new Account(5544, 45000, 0.036);
^
symbol: class Account
location: class Lab4B
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.7.0_02\lib\ct.s
ym(META-INF/sym/rt.jar/java/lang/System.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.7.0_02\lib\ct.s
ym(META-INF/sym/rt.jar/java/io/PrintStream.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.7.0_02\lib\ct.s
ym(META-INF/sym/rt.jar/java/io/FilterOutputStream.class)]]
[loading ZipFileIndexFileObject[C:\Program Files (x86)\Java\jdk1.7.0_02\lib\ct.s
ym(META-INF/sym/rt.jar/java/io/OutputStream.class)]]
[total 228ms]
2 errors
【问题讨论】:
-
你用来编译的命令行是什么?
Lab4B.java是否与Account.java在同一目录中?你能显示F:\Java\Lab 4b的目录列表吗?
标签: java