Chinaunix首页 | 论坛 | 博客
  • 博客访问: 198818
  • 博文数量: 163
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1720
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-08 11:41
文章分类

全部博文(163)

文章存档

2011年(1)

2009年(162)

我的朋友

分类: Java

2009-07-14 16:09:29

   /**
  * @version 1.0
  * @author Devil_Angel
  * 该程序的功能为实现模拟银行ATM自动取款机提款,查询等功能.
  *
  */
  improt 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码转换的整数
  swith(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();
  }
  }

     

阅读(1031) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~