新手练手必备~

密码账户为:

先创建账户类:

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---简单的ATM存取系统,的更多相关文章

  1. 简单的ATM取款过程

    一个简单的ATM的取款过程是这样的:首先提示用户输入密码(pwd),最多只能输3次,超过三次则提示用户“密码已输入三次错误,请取卡.“结束交易.如果用户密码正确,在提示用户输入金额(money),AT ...

  2. java简单词法分析器(源码下载)

    java简单词法分析器 : http://files.cnblogs.com/files/hujunzheng/%E7%AE%80%E5%8D%95%E8%AF%8D%E6%B3%95%E5%88%8 ...

  3. !!转!!java 简单工厂模式

    举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人.”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面.女娲造人,这就是 ...

  4. JAVA简单Swing图形界面应用演示样例

    JAVA简单Swing图形界面应用演示样例 package org.rui.hello; import javax.swing.JFrame; /** * 简单的swing窗体 * @author l ...

  5. 多元线性回归----Java简单实现

    http://www.cnblogs.com/wzm-xu/p/4062266.html 多元线性回归----Java简单实现   学习Andrew N.g的机器学习课程之后的简单实现. 课程地址:h ...

  6. java简单数据类型转化

    java简单数据类型,有低级到高级为:(byte,short,char)→int→long→float→double (boolean不参与运算转化) 转化可以分为 低级到高级的自动转化 高级到低级的 ...

  7. 预防和避免死锁的方法及银行家算法的java简单实现

    预防死锁 (1) 摒弃"请求和保持"条件 基本思想:规定所有进程在开始运行之前,要么获得所需的所有资源,要么一个都不分配给它,直到所需资源全部满足才一次性分配给它. 优点:简单.易 ...

  8. Java简单聊天室

    实现Java简单的聊天室 所用主要知识:多线程+网络编程 效果如下图 /** * * @author Administrator * * 简单的多人聊天系统——重点:同时性,异步性 * 1.客户端:发 ...

  9. Java简单工厂模式

    Java简单工厂模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简 ...

  10. java简单web爬虫(网页图片)

    java简单web爬虫(网页图片)效果,执行main()方法后图片就下载道C盘的res文件夹中.没有的话创建一个文件夹代码里的常量根据自己的需求修改,代码附到下面. package com.sinit ...

随机推荐

  1. Git 撤消操作(分布式版本控制系统)

    1.覆盖提交 有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了.此时,可以运行带有 --amend 选项的提交命令尝试重新提交. $ git commit --amend 或 # g ...

  2. Firefox 网络调试工具

    1.Firefox 简介 Firefox 官网下载地址 Firefox 其它下载地址 Firefox 58.0.2 for Mac,密码:346y. Firefox 36.0.4 for Mac,密码 ...

  3. MySQL子查询的优化

    本文基于MySQL5.7.19测试 创建四张表,pt1.pt2表加上主键 mysql> create table t1 (a1 int, b1 int); mysql> create ta ...

  4. 构建你的长寿命的API第1部分:规范驱动的API开发

    构建你的长寿命的API第1部分:规范驱动的API开发 这篇文章是由MuleSoft的Mike Stowe在nginx.conf 2016公布的演示文稿改编的.第一部分重点是规范驱动的API开发. 第二 ...

  5. pyspark RandomForestRegressor 随机森林回归

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Jun 8 09:27:08 2018 ...

  6. java字符串的遍历以及字符串中各类字符的统计

    1.需求:获取字符串中的每一个字符   分析: A:如何能够拿到每一个字符呢?  char charAt(int index) B:我怎么知道字符到底有多少个呢? int length() publi ...

  7. 浏览器自动转换URL编码产生乱码问题

    如果网址中含有汉字,浏览器会自动将其转换成URL编码,而在接收端,它又自动转换回来. 大部分时候都没什么问题,但有时候就很讨厌.因为生成这种URL编码,编码时的字符集和解码字符集不一定相同,比如编码时 ...

  8. 关于casperjs的介绍

    casperjs是一个自动化测试框架,功能强大,也很适合当做爬虫软件使用,casperjs基于phantomjs软件,phantomjs是一个没有界面的浏览器环境,基于python环境 一,安装cas ...

  9. nodejs批量处理图片

    var gm = require('gm');var imageMagick = gm.subClass({ imageMagick : true });var path = require('pat ...

  10. 李洪强iOS经典面试题

    李洪强iOS经典面试题 1. struct和class的区别 swift中,class是引用类型,struct是值类型.值类型在传递和赋值时将进行复制,而引用类型则只会使用引用对象的一个"指 ...