JAVA第5次上机作业:银行ATM系统

游戏:ATM

Account.java

import java.util.ArrayList;
public class Account {
	private int id;
	private double balance;
	private double annualInterestRate;
	private java.util.Date dateCreated;
	String name;//11.8 new
	ArrayList<Transaction> transactions=new ArrayList<>();
	
	

	public Account(){
		id=0;
		balance=0;
		annualInterestRate=0;
		dateCreated = new java.util.Date();
	}
	
	public Account(int id_input,double balance_input){
		id=id_input;
		balance=balance_input;
		annualInterestRate=0;
		dateCreated = new java.util.Date();
	}
	
	//11.8 new
	public  Account(String name_input,int id_input,double balance_input){
		id=id_input;
		name=name_input;
		balance=balance_input;
	}
	//id访问器和修改器
	public int getId(){
		return(id);
	}
	
	public int idSet(int id_new){
		id=id_new;
		return(id);
	}
	//余额访问器和修改器
	public double getBalance(){
		return(balance);
	}
	
	public double balanceSet(double sum){
		balance=sum;
		return(balance);
	}
	//利率访问器和修改器
	public double getAnnualInterestRate(){
		return(annualInterestRate);
	}
	
	public double annualInterestRateSet(double annualInterestRate_new){
		annualInterestRate=annualInterestRate_new;
		return(annualInterestRate);
	}
	//日期访问器
	public java.util.Date getDate(){
		return dateCreated;
	}
	//获取月利率
	public double getMonthlyInterestRate(){
		return(annualInterestRate/12);
	}
	//取钱
	public void withDraw(double sum){
		if(sum>balance)
			System.out.println("THE BALANCE IN YOUR ACCOUNT IS NOT ENOURH!");
		else{
			balance=balance-sum;
		//11.8 new
		transactions.add(0,new Transaction('W',sum,balance,"withdraw"));
		System.out.println(transactions.get(0).toString());
		
		}
	}
	//存钱
	public void deposit(double sum){
		balance=balance+sum;
		transactions.add(0,new Transaction('D',sum,balance,"desposit"));
		System.out.println(transactions.get(0).toString());
	}

}

Transaction.java

public class Transaction {
	java.util.Date dateOfTrade;
	char tradeType;
	double tradeAmount;
	double tradeBalance;
	String description;
	
	public Transaction(char type,double Amount,double balance,String description){
		dateOfTrade=new java.util.Date();
		tradeType=type;
		tradeAmount=Amount;
		tradeBalance=balance;
		this.description=description;
	}
	@Override
	public String toString()
	{
		return "Happen on "+ dateOfTrade+" , "+description+" : "+tradeAmount+" and the balance is:"+tradeBalance;
	}
	/*public void Transaction(){
		dateOfTrade=new java.util.Date();
		tradeType='N';
		tradeBalance=0;
		description="NULL";
	}
	public void setTradeType(char tradeType){
		this.tradeType=tradeType;
	}
	public char getTradeType(){
		return tradeType;
	}
	public java.util.Date getTradeDate(){
		return(dateOfTrade);
	}
	public void setTradeAmount(double tradeAmount){
		this.tradeAmount=tradeAmount;
	}
	public double getTradeAmount(){
		return tradeAmount;
	}
	public void setTradeBalance(double tradeBalance){
		this.tradeBalance=tradeBalance;
	}
	public double getTradeBalance(double tradeBalance){
		return tradeBalance;
	}
	public void setDescription(String description){
		this.description=description;
	}
	public String getDescription(){
		return(description);
	}*/

}

ATM.java

import java.util.Scanner;
public class ATM extends Account{
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		//初始化
		int i=0;
		Account[] user = new Account[10];
		for(i=0;i<10;i++) {
			System.out.println("Please input the name for id "+i+":");
			String name_input=input.next();
			user[i]=new Account(name_input,i,100.0);
		}
		while(true) {
			System.out.println("Enter an id:");
	        int id_input = input.nextInt();
	        while(id_input>9||id_input<0) {
	        	System.out.println("You input error id,please input again:");
	        	id_input = input.nextInt();
	        }
	        System.out.println("Main menu");
	        System.out.println("1:check balance");
	        System.out.println("2:withdraw");
	        System.out.println("3:deposit");
	        System.out.println("4:exit");
	        System.out.println("Enter a choice:");
	        int choice = input.nextInt();
	        switch(choice) {
	        case 1:System.out.println("Balance is:"+user[id_input].getBalance());break;
	        case 2:{
	        	System.out.println("Enter an amount to withdraw:");
	        	double sum=input.nextDouble();
	        	user[id_input].withDraw(sum);
	        	break;
	        }
	        case 3:{
	        	System.out.println("Enter an amount to deposit:");
	        	double sum=input.nextDouble();
	        	user[id_input].deposit(sum);
	        	break;
	        }
	        case 4:break;
	        }
		}

		
	}
	

}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值