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常见数据结构面试题,带有答案及解释,希望对广大的程序爱好者有所帮助,同时祝大家有一个好成绩,需要的朋友可以参考下,希望可以帮助到你
    2021-07-07
  • Hibernate框架数据分页技术实例分析

    Hibernate框架数据分页技术实例分析

    这篇文章主要介绍了Hibernate框架数据分页技术,结合实例形式分析了Hibernate框架实现数据分页的原理,步骤与相关实现技巧,需要的朋友可以参考下
    2016-03-03
  • 阿里、华为、腾讯Java技术面试题精选

    阿里、华为、腾讯Java技术面试题精选

    这篇文章主要为大家分享了阿里、华为、腾讯Java技术面试题精选,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Java使用MulticastSocket实现群聊应用程序

    Java使用MulticastSocket实现群聊应用程序

    这篇文章主要为大家详细介绍了Java使用MulticastSocket实现群聊应用程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Java实现获取行政区划的示例代码

    Java实现获取行政区划的示例代码

    这篇文章主要为大家详细介绍了如何利用Java语言实现获取行政区划的功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习游戏
    2023-03-03
  • 关于Java整合RocketMQ实现生产消费详解

    关于Java整合RocketMQ实现生产消费详解

    这篇文章主要介绍了关于Java整合RocketMQ实现生产消费详解,RocketMQ作为一款纯java、分布式、队列模型的开源消息中间件,支持事务消息、顺序消息、批量消息、定时消息、消息回溯等,需要的朋友可以参考下
    2023-05-05
  • Spring MVC整合Kaptcha的具体使用

    Spring MVC整合Kaptcha的具体使用

    Kaptcha 是一个可高度配置的实用验证码生成工具,本文主要介绍了Spring MVC整合Kaptcha的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • Spring Security 和Apache Shiro你需要具备哪些条件

    Spring Security 和Apache Shiro你需要具备哪些条件

    这篇文章主要介绍了Spring Security 和Apache Shiro你需要具备哪些条件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • SpringBoot(JAVA)整合微信公众号消息推送完整步骤(文本、图片/视频推送)

    SpringBoot(JAVA)整合微信公众号消息推送完整步骤(文本、图片/视频推送)

    微信公众号消息推送包括文本推送和图文/视频推送两类,文本推送通过模板消息或自定义消息实现,而图文/视频推送需先上传素材至临时/永久素材库,再上传图文消息,最后进行消息推送,文中将实现的方法介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • SpringBoot中定时任务@Scheduled注解的使用解读

    SpringBoot中定时任务@Scheduled注解的使用解读

    这篇文章主要介绍了SpringBoot中定时任务@Scheduled注解的使用解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09

最新评论