您好,登錄后才能下訂單哦!
可記錄多次存取信息
import java.util.ArrayList;
import java.util.Date;
import java.util.Scanner;//聲明
public class TestNewaccount //測試類
{
public static void main(String[] args)
{
NewAccount account = new NewAccount("Mike",1122,1000);
account.setAnnualInterestRate(1.5/100);
account.deposit(30);
account.deposit(40);
account.deposit(50);
account.withDraw(5);
account.withDraw(4);
account.withDraw(2);
for(int i=0;i<account.transaction.size();i++)
{
System.out.println(account.transaction.get(i));
}
}
}
class Account
{
private int id=0;
private double balance=0;
static private double annualInterestRate=0;
private Date dateCreated;
public Account()
{
dateCreated=new Date();
}
public Account(int x,double y)
{
id=x;
balance=y;
dateCreated=new Date();
}
public void setId(int x)
{
id=x;
}
public int getId()
{
return id;
}
public void setBalance(double x)
{
balance=x;
}
public double getBalance()
{
return balance;
}
public void setAnnualInterestRate(double x)
{
annualInterestRate=x;
}
public double getAnnualInterestRate()
{
return annualInterestRate;
}
public Date getDateCreated()
{
return dateCreated;
}
public double getMonthlyInterestRate()
{
return annualInterestRate/12;
}
public double getMonthlyInterest()
{
return getMonthlyInterestRate()*balance;
}
public void withDraw(double money)
{
if(balance>=money)
balance-=money;
}
public void deposit(double money)
{
balance+=money;
}
}
class Transaction//用戶交易信息類
{
private char type;
private Date date;
private double money;
private double balance;
private String description;
public Transaction(char type,double money,double balance,String description)
{
this.type=type;//交易類型(取款,存款)
date=new Date();//時間
this.money=money;//存取的多少
this.balance=balance;//交易完還剩多少錢
this.description=description;//交易備注
}
public String toString()
{
return "Type:"+type+" Money:"+money+" Balance:"+balance+" Date:"+date+" "+description;
}
}
class NewAccount extends Account//子類
{
private String name;//新增變量
ArrayList transaction=new ArrayList();//ArrayList方法
public NewAccount(String name,int id,double balance)
{
super(id,balance);
this.name=name;
}
public void withDraw(double x)//取錢
{
if(getBalance()>x)
{
setBalance(getBalance()-x);
transaction.add(new Transaction('W',x,getBalance(),""));//往ArrayList方法中加元素
}
}
public void deposit(double x)//存錢
{
setBalance(getBalance()+x);
transaction.add(new Transaction('D',x,getBalance(),""));
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。