【发布时间】:2014-09-19 03:32:01
【问题描述】:
所以我有一个 java 编程 II 类的作业,要求我创建一个名为 Account 的类,该类将执行以下操作:
设计一个名为 Account 的类,其中包含:
数据成员:
一个名为 id 的 int 类型的私有数据字段,用于帐户;
帐户的双命名余额类型的私有数据字段;
名为 AnnualInterestRate 的 double 类型的私有数据字段 存储当前利率(假设所有账户都有相同的 利率);
一个名为 dateCreated 的 Date 类型的私有数据字段,用于存储 创建帐户的日期;
方法一个无参数的构造函数,它创建一个默认帐户并设置 以下数据成员为 0(零):id、balance 和 年利率;
创建具有指定 id 的帐户的构造函数和 初始余额;
id、balance 和 年利率;
dateCreated 的访问器方法
一个名为 getMonthlyInterestRate( ) 的方法,它返回每月 利率;
一个名为 getMonthlyInterest( ) 的方法,它返回每月 兴趣;
一个名为withdraw的方法,从 帐户;
一种名为 deposit 的方法,将指定的金额存入 帐户。
编写一个测试程序,创建一个带有帐户 ID 的 Account 对象 1122 美元,余额 20,000 美元,年利率 4.5%。 使用提款方式提取$2,500,使用存款方式提取 存入 3,000 美元,并打印余额、每月利息和 创建此帐户的日期。
教授已将测试应用程序提供给我们,我将在下面链接。所需要做的就是创建我拥有的 Account 类。一切都正确编译,但是当我运行测试应用程序时,我得到的输出很奇怪:
----jGRASP exec: java AccountTest
Current account values:
Account@208e2fb5
Current account values:
Account@208e2fb5
Current account values:
Account@208e2fb5
我现在不知所措,我不知道该做什么或从这里去哪里。
测试应用:
public class AccountTest
{
public static void main(String [] args)
{
Account a = new Account(1122, 20000.00);
a.setAnnualInterestRate(4.5);
System.out.println("\nCurrent account values: \n" + a);
a.withdraw(2500.00);
System.out.println("\nCurrent account values: \n" + a);
a.deposit(3000.00);
System.out.println("\nCurrent account values: \n" + a);
}
}
我创建的帐户类:
import java.util.Date;
public class Account
{
private int id;
private double balance;
private double annualInterestRate;
private Date date = new Date();
Account()
{
id = 0;
balance = 0.0;
annualInterestRate = 0.0;
}
Account(int newId, double bal)
{
id = newId;
balance = bal;
}
public void setId(int newId)
{
id = newId;
}
public void setBalance( double bal)
{
balance = bal;
}
public void setAnnualInterestRate(double annualRate)
{
annualInterestRate = annualRate;
}
public int getId()
{
return id;
}
public double getBalance()
{
return balance;
}
public double getAnnualInterestRate()
{
return annualInterestRate;
}
/*public void setDate(Date n)
{
dateCreated = n;
}*/
public java.util.Date getDate()
{
return date;
}
double getMonthlyInterestRate()
{
return annualInterestRate/12;
}
double withdraw(double amount)
{
return balance -= amount;
}
double deposit(double amount)
{
return balance += amount;
}
}
为我的格式提前道歉。
【问题讨论】: