java模拟取款机

来源:互联网 发布:什么牌子压力锅好 知乎 编辑:程序博客网 时间:2024/04/30 15:38

/** * @version 1.0 * @author Devil_Angel * 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能. *  */

import java.io.*;

/*该类为实现客户信息及部分功能*/class Account { private String code    =null;   //信用卡号 private String name    =null;   //客户姓名 private String password=null;   //客户密码 private double money   =0.0;   //卡里金额  /********************/ public Account(String code,String name,String password,double money) {  this.code=code;  this.name=name;  this.password=password;  this.money=money; }  protected String get_Code() {  return code; }  protected String get_Name() {  return name; }  protected String get_Password() {  return password; }  public double get_Money() {  return money; }  /*得到剩余的钱的数目*/ protected void set_Balance(double mon) {  money -= mon; }}

/**********实现具体取款机功能*********/class ATM { Account act;// private String name;// private String pwd;  public ATM() {  act=new Account("000000","Devil","123456",50000); }  /***********欢迎界面***********/ protected void Welcome() {  String str="---------------------------------";  System.out.print(str+"/n"+       "欢迎使用Angel模拟自动取款机程序./n"+str+"/n");  System.out.print(" 1.>取款."+"/n"+       " 2.>查询信息."+"/n"+       " 3.>密码设置."+"/n"+       " 4.>退出系统."+"/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);  Lock_Sys(); }  /**********系统操作**********/ protected void SysOpter() throws Exception {  int num;  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  System.out.println("请选择您要操作的项目(1-4):");  num=br.read();  //num为ASICC码转换的整数  switch(num) {  case 49: BetBalance(); break;  case 50: Inqu_Info(); break;  case 51: Set_Password(); break;  case 52: Exit_Sys();  break;  }  System.exit(1); }  /**********信息查询**********/ protected void Inqu_Info() {  System.out.print("---------------------/n"+       act.get_Code()+"/n"+       act.get_Name()+"/n"+       act.get_Money()+"/n"+       "-----------------------"); }  /**********取款**********/ public void BetBalance() throws Exception {  String str=null,str1;  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  do {   System.out.println("请输入您要取的数目:");   str=br.readLine();   str1=String.valueOf(act.get_Money());   if(str.compareTo(str1)>0) {    System.out.println("超过已有的钱数,请重新输入您要取的数目:");   }   else {    /*操作成功*///    act.set_Balance(str);    System.out.println("取款成功,请收好您的钱.");    Welcome();    SysOpter();   }  }while(true);   }  /**********判断卡内是否有钱**********/ protected boolean isBalance() {  if(act.get_Money()<0) { //   System.out.println("对不起,您的钱数不够或卡已透支.");   return false;  }  return true; }  /********卡号密码是否正确******/ protected boolean isRight(String card,String pwd) {  if(act.get_Code().equals(card) && act.get_Password().equals(pwd))   return true;  else   return false; }  /**********密码修改**********/ protected void Set_Password() throws Exception {  String pwd=null;  int counter=0;  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));  do {   System.out.println("请输入旧密码:");   pwd=br.readLine();   if(act.get_Password().equals(pwd))   {    do {     System.out.println("请输入新密码:");     String pwd1=br.readLine();     System.out.println("请再次输入新密码:");     String pwd2=br.readLine();     if(!pwd1.equals(pwd2))     {      System.out.println("两次输入不一致,请再次输入.");     }     else     {      System.out.println("密码修改成功,请使用新密码.");      Welcome();      SysOpter();     }    }while(true);   }  }while(counter>3);   }  /**********锁定机器**********/ protected void Lock_Sys() {  System.out.println("对不起,您的操作有误,卡已被没收.");  System.exit(1); }  /**********结束系统**********/ protected void Exit_Sys() {  System.out.println("感谢您使用本系统,欢迎下次在来,再见!");  System.exit(1); } }

public class Text{ public static void main(String[] args) throws Exception {  ATM atm=new ATM();  atm.Welcome();  atm.Load_Sys();//  atm.Exit_Sys(); }}

原创粉丝点击