Java(ATM机实验)(源程序)

package ATM;

import java.io.BufferedReader;
import java.io.InputStreamReader;

class Account{
    private String number=null;
    private String name=null;
    private String password=null;
    private double money=0.0;

public Account(String number,String name,String password,double money)
{
    this.number=number;
    this.name=name;
    this.password=password;
    this.money=money;
}
public String getNumber() {
    return number;
}
public String getName() {
    return name;
}
public String getPassword() {
    return password;
}
public double getMoney() {
    return money;
}
protected void sub_Balance(double mon)
{
    money-=mon;
}
protected void add_Balance(double mon)
{
    money+=mon;
}
}

class ATM
{
    Account act;
    public ATM()
    {
        act=new Account("000", "test", "111", 5000);
    }
    protected void Welcome()
    {
        String str="------------------------";
        System.out.print(str+"\n");
        System.out.println("1.取款。"+"\n"+
        "2.查询。"+"\n"+
        "3.存款."+"\n"+
        "4.退出系统."+"\n");
        System.out.println(str+"\n");
    }
    protected void Load_Sys() throws Exception
    {
        String card,pwd;
        int counter=0;
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        do {
            System.out.println("请输入您的卡号");
            card=br.readLine();
            System.out.println("请输入您的密码");
            pwd=br.readLine();
            if(!isRight(card,pwd))
            {
                System.out.println("您的卡号或密码输入有误。");
                counter++;
            }
            else
                SysOpter(); 
        } while (counter<3);
        System.exit(1);
    }
    protected void SysOpter() throws Exception 
    {
        int num;
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("请选择您要操作的项目(1-4):");
        num=br.read();
        switch(num)
        {
        case 49:GetBalance();break;
        case 50:Inqu_Info();break;
        case 51:AddBalance();break;
        case 52:Exit_Sys();break;
        }
        System.exit(1);
    }
    protected void Inqu_Info()throws Exception
    {
        System.out.println("-------------------------\n"+
    "账户:"+act.getNumber()+"\n"+
    "姓名:"+act.getName()+"\n"+
    "余额:"+act.getMoney()+"\n"+
    "----------------------\n");
        SysOpter();
    }
    public void GetBalance()throws Exception
    {
        String str=null,str1;
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        do{
            System.out.println("请输入取款数目:");
            str=br.readLine();
            double qu=Double.valueOf(str).doubleValue();
            if(qu>act.getMoney())
            {
                System.out.println("余额不足,请重新输入您要取的数目:");
            }
            else
            {
                act.sub_Balance(qu);
                System.out.println("取款成功,您的账户余额为:"+act.getMoney());
                Welcome();
                SysOpter();
            }
        }while(true);

    }
    public void AddBalance()throws Exception
    {
        String str=null,str1;
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        do {
            System.out.println("请输入存款数目");
            str=br.readLine();
            double qu=Double.valueOf(str).doubleValue();
            act.add_Balance(qu);
            System.out.println("存款成功,您的账户余额为:"+act.getMoney());
            Welcome();
            SysOpter();
        }while(true);
    }
    protected boolean isBalance()
    {
        if(act.getMoney()<0)
        {
            return false;
        }
        return true;
    }
    protected boolean isRight(String card,String pwd)
    {
        if(act.getNumber().equals(card)&&act.getPassword().equals(pwd))
            return true;
        else
            return false;
    }
    protected void Exit_Sys(){
        System.out.println("感谢您使用本系统,再见!");
        System.exit(1);
    }
}

public class Test {
    public static void main(String[] args)throws Exception {
        ATM atm=new ATM();
        atm.Welcome();
        atm.Load_Sys(); 
    }
}
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值