java编写简单的ATM存取系统

 更新时间:2015年02月02日 09:41:37   投稿:hebedich  
这篇文章主要介绍了java编写简单的ATM存取系统,附上思路和具体实现代码,适合新人练手用,推荐给小伙伴们。

新手练手必备~

密码账户为:

先创建账户类:

复制代码 代码如下:

package cn.Atm;
/**
* @author 偶my耶
*/
import java.io.*;
import com.project.project;
public 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 void setNumber(String number) {
      this.number = number;
  }
  public String getName() {
      return name;
  }
  public void setName(String name) {
      this.name = name;
  }
  public String getPassword() {
      return password;
  }
  public void setPassword(String password) {
      this.password = password;
  }
  public double getMoney() {
      return money;
  }
  public void setMoney(double money) {
      this.money = money;
  }
  protected void  sub_Balance(double mon) {
      money-=mon;   
  }
  protected void add_Balancen(double mon) {
      money+=mon;   
  }
}

然后建立操作类:

里面包含各种操作方法:

复制代码 代码如下:

package cn.Atm;
/**
 * @author 偶my耶
 */
import java.io.*;

import com.project.project;
public class ATM {
    Account act;

    public ATM(){
    act=new Account("0000", "test", "0000", 2000);
    }
    /*************欢迎界面*********************/
    protected void Welcome(){
        String str="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
        System.out.print(str+"\n");
        System.out.print(
                "1.取款"+"\n"+
                "2.查询"+"\n"+
                "3.存款"+"\n"+
                "4.退出"+"\n"
                );
    System.out.print(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 {
                Welcome();
                SysOpter();
            }
        }while(counter<5);
        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_Iofo();
            break;
        case 51:
            AddBalance();
            break;
        case 52:
            Exit_Sys();
            break;
        }
    }
    /**********信息查询*******************/
    protected void Inqu_Iofo() throws Exception{
        // TODO Auto-generated method stub
        String str="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
        System.out.print(str+"\n");
        System.out.print(
                "账号"+act.getNumber()+"\n"+
                "姓名"+act.getName()+"\n"+
                "余额"+act.getMoney()+"\n"+
                str+"\n"
                );
    SysOpter();
    }
   
    /**********存款******************/
    public void AddBalance() throws Exception{
        // TODO Auto-generated method stub
        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_Balancen(qu);
            System.out.println("存款成功,你的账户余额为"+act.getMoney());
            Welcome();
            SysOpter();
        } while (true);
    }
    /**********取款********************/
    public void GetBalance() throws Exception{
        // TODO Auto-generated method stub
        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);
    }
    /*********退出******************/
    protected void Exit_Sys () {
        // TODO Auto-generated method stub
        System.out.println("安全退出!");
        System.exit(1);
    }
   
    /**********卡号和密码是否正确********************/
    protected boolean isRight (String card, String pwd) {
        // TODO Auto-generated method stub
        if (act.getNumber().equals(card)&&act.getPassword().equals(pwd)) {
            return true;
        } else {
            return false;
        }
   
    }
    public static void main(String[] args) throws Exception {
        ATM atm=new ATM();
//        atm.Welcome();
        atm.Load_Sys();
        }
}

代码仅供参考

运行结果如下

 

好了,小伙伴们可以自己做个ATM机了^_^

相关文章

  • Java编程中的检查型异常与非检查型异常分析

    Java编程中的检查型异常与非检查型异常分析

    这篇文章主要介绍了Java编程中的未检查型异常与非检查型异常,以及异常的处理方式,需要的朋友可以参考下
    2017-09-09
  • Java多线程Callable和Future接口区别

    Java多线程Callable和Future接口区别

    这篇文章主要介绍了Java多线程Callable和Future接口区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • SpringBoot mybatis-plus使用json字段实战指南

    SpringBoot mybatis-plus使用json字段实战指南

    在现代应用开发中经常会使用JSON格式存储和传输数据,为了便捷地处理数据库中的JSON字段,MyBatis-Plus提供了强大的JSON处理器,这篇文章主要给大家介绍了关于SpringBoot mybatis-plus使用json字段的相关资料,需要的朋友可以参考下
    2024-01-01
  • MybatisPlus 多租户架构(Multi-tenancy)实现详解

    MybatisPlus 多租户架构(Multi-tenancy)实现详解

    这篇文章主要介绍了MybatisPlus 多租户架构(Multi-tenancy)实现详解,详细的介绍了什么是多租户架构以及使用MybatisPlus实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 浅谈spring容器中bean的初始化

    浅谈spring容器中bean的初始化

    下面小编就为大家带来一篇浅谈spring容器中bean的初始化。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Java实现输入流转化为String

    Java实现输入流转化为String

    这篇文章主要介绍了Java实现输入流转化为String的相关资料,需要的朋友可以参考下
    2016-12-12
  • JDK线程池和Spring线程池的使用实例解析

    JDK线程池和Spring线程池的使用实例解析

    这篇文章主要介绍了JDK线程池和Spring线程池的使用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 详解Spring中Spel表达式和el表达式的区别

    详解Spring中Spel表达式和el表达式的区别

    在 Java 开发中,表达式语言是一种强大的工具,而SpEL 表达式与EL 表达式是我们常常遇到两种表达式语言,下面我们就来看看它们的具体使用与区别吧
    2023-07-07
  • 使用Java编写一个简单的Web的监控系统

    使用Java编写一个简单的Web的监控系统

    这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实用,需要的朋友可以参考下
    2015-11-11
  • java socket接收保证能读完数据的实例

    java socket接收保证能读完数据的实例

    这篇文章主要介绍了java socket接收保证能读完数据的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10

最新评论