规格 创建银行帐户,并从用户读入初始余额。它提供了一个菜单,用户可以存款和取款,并查看余额。它也引起了日常的兴趣。帐户菜单选项是
d:存钱:在山上读 w:取款:读取金额并验证 s:看到平衡 x:退出任何东西 否则:帮助 客户有三个银行账户,分别是信用,储蓄和期限;年利率分别为0%,1.2%和3.4%。客户菜单允许用户选择帐户添加兴趣,或查看所有余额。菜单选项包括: a:选择一个帐户:输入名称 我:增加所有帐户的兴趣 s:显示所有帐户 X:退出 其他:帮助 增加兴趣。每天将利息添加到运行总计中,并且在每个月末将该总利息添加到余额中。该 银行每天都会在利息领域增加利息,并在每个月末将这笔金额加到余额中并设定利息 回到零。 菜单选项会为每个帐户增加每日兴趣30天,然后在30天结束时将余额添加到余额中。 利率以年率百分比表示,例如每年3.4%。 您必须将其转换为每日利率。 正常年份为365天。闰年每四年发生一次,共有366天。处理闰年的标准方法是使用365.25天的一年。
以下是我到目前为止的情况;我的问题是我如何完成字符串toString方法()并选择方法,
import java.util.*;
public class Customer
{ public static void main(String[] args)
{ new Customer(); }
public Customer()
{
setup();
}
private void setup()
{
accounts.add(new Account("",0.0));
accounts.add(new Account("",0.0));
accounts.add(new Account("",0.0));
}
public void use()
{
char choice;
while((choice = readChoice()) != 'x')
{
switch(choice)
{
case 'a': choose(); break;
case 'i': addInterest(); break;
case 's': show(); break;
default: help();
}
}
}
private char readChoice()
{ return 'x'; }
private void choose()
{
// ask for acount
// search for that ;particular accounts using account(name)
// use the newly found account (given that it is found)
}
private String readName()
{
//gives accountName you are searching for
System.out.print("??? account ???; ");
return In.nextLine();
}
private Account account(String name)
{ return null; }
private void addInterest()
{ for (Account account: accounts)
{ for (int i = 0; i < 30; i++)
account.addDailyInterest();
account.addMonthlyInterest(); }}
private void help()
{ String s = "The menu choices are";
s += "\n a: choose an account";
s += "\n i: add interest to all accounts";
s += "\n s show";
s += "\n x exit";
System.out.println(s); }
private void show()
{
System.out.println(this);
}
public String toString()
{ String s = "";
// loop through each account
// add each account toString();
// seperate each account object using a new line.
return s;
}
}
答案 0 :(得分:0)
private List<Account> accountList
的Customer类,这将很容易扩展(我看到accounts.add(new Account("",0.0));
但没有列表声明)
然后在Account中覆盖toSting
方法,以便打印最适合您的方法。最后在Customer中只需遍历accountList,如:
public String toString()
{ String s = "";
for (Account account:accountList){
s += account.toString() + "\n";
}
return s;
}