import java.util.Scanner;

public class MiniAtm_2 {

private static int [] m={100000,80000,150000};//设置为全局变量,用数组来存储每个用户的余额,和ATM的余额

public static void main(String[] args){

int [] [] arr={{123,123456},{321,12345}};//用数组来储存每位用户的用户名和密码

login(arr );

}

public static void login (int[][]arr){

System.out.println("***************************************\n");

System.out.println("**********欢迎使用张氏银行ATM机***************\n");

System.out.println("***************************************\n");

System.out.println("***************************************\n");

for(int m=1;m<4;m++){//用for循环来做输入错误后的三次输入

System.out.println("请输入账户名");

Scanner usersc = new Scanner(System.in);

int userIn=usersc.nextInt();

System.out.println("请输入密码");

Scanner passWordsc= new Scanner(System.in);

int passWordIn=passWordsc.nextInt();

if(arr[0][0]==userIn&arr[0][1]==passWordIn){//通过输入数据与数组中的用户名和密码进行比较判断用户登录

page(0,1);//通过带入数据判断事哪个用户登录

}

else if(arr[1][0]==userIn&arr[1][1]==passWordIn){

page(1,0);

}

else {

System.out.println("账户名或者密码错误,请重新输入");

}

}

System.out.println("您输入次数已经超过限制,自毁程序已启动,不怕死就留下来看看华丽的烟花吧~");

System.exit(0);//连续错误三次程序自动结束

}

public static void page(int a,int b){

if(a==0&b==0){

System.out.println("尊敬的张先生您好,请选择你所需要的服务\n*********1:查询 2:存款 3:取款 4:转账 5:退出********");

}

else if(a==1&b==0){

System.out.println("尊敬的李先生您好,请选择你所需要的服务\n*********1:查询 2:存款 3:取款 4:转账 5:退出********");

}

else {System.out.println("*********1:查询 2:存款 3:取款 4:转账 5:退出********\n");

}

Scanner chooseSC = new Scanner(System.in);

int chooseIn = chooseSC.nextByte();

if(chooseIn!=1&&chooseIn!=2&&chooseIn!=3&&chooseIn!=4&&chooseIn!=5){//用来判断用户输入的正确性

System.out.println("请输入正确的选项");

page(0,2);

}

else if(chooseIn==1){

query(a,b);

}

else if(chooseIn==2){

got(a,b);

}

else if(chooseIn==3){

set(a,b);

}

else if(chooseIn==4){

zhuan(a,b);

}

else{

main(null);

}

}

public static void query(int a,int b){

System.out.println("当前余额为:"+m[a]+"元");

page(a,b);

}

public static void got(int a,int b){

System.out.println("请输入存款金额,金额为100的倍数\n如无需存款请按‘1’返回主菜单!");//用来作为用户想要放弃操作的返回操作

Scanner sc = new Scanner (System.in);

int z=sc.nextInt();

if(z==1){

page(a,b);

}

else if(z!=1&&z%100!=0) {//用来判断用户输入金额的正确性

System.out.println("输入金额有误!");

got(a,b);

}

else if(m[2]+z>200000){//判断ATM现金容量是否能够装下存入金额

System.out.println("ATM机存款容量达到上限,请重新输入金额!");

got(a,b);

}

else{

m[a]=z+m[a];//用来表示用户余额的变化

m[2]=z+m[2];//用来表示ATM机余额的变化

System.out.println("存款成功");

page(a,b);

}

}

public static void set (int a,int b){

System.out.println("请输入取款金额,金额为100的倍数\n如无需存款请按‘1’返回主菜单!");

Scanner sc = new Scanner (System.in);

int z=sc.nextInt();

if(z==1){

page(a,b);

}

else if(z!=1&&z%100!=0){//判断输入金额的正确性

System.out.println("输入金额有误!");

set(a,b);

}

else if(z>100000){

System.out.println("超出取款范围!一次最多取款100000");

set(a,b);

}

else if(m[a]-z<0){

System.out.println("余额不足!");//判断余额是否足够取出的输入金额

set(a,b);

}

else if(m[2]-z<0){

System.out.println("ATM机余额不足!");//判断ATM机余额是否足够取出的输入金额

page(a,b);

}

else{

m[a]=m[a]-z;//用来表示用户余额的变化

m[2]=m[2]-z;//用来表示ATM机余额的变化

System.out.println("取款成功,取款金额为:"+z+"元");

System.out.println("谢谢使用欢迎下次光临");

page(a,b);

}

}

public static void zhuan(int a,int b){

System.out.println("请输入转账账号\n如无需转账请按‘1’返回主菜单");

Scanner zSC=new Scanner(System.in);

int z=zSC.nextInt();

int[] p={321,123};

if(z==1){

page(a,b);

}

else if(z==p[a]){//用来判断用户输入的转账账户

System.out.println("请输入转账整数金额");

Scanner msc=new Scanner(System.in);

ints=msc.nextInt();

if(s<=0){

System.out.println("请输入正确的转账金额");//判断输入的金额正确性

}

else{

m[a]=m[a]-s;//用来表示用户转账后余额的变化

m[b]=m[b]+s;//用来表示被转账用户的余额变化

System.out.println("转账完成!");//操作完成后的返回操作

page(a,b);

}

}

else{

System.out.println("请输入正确的转账账号!");

zhuan(a,b);

}

}

}

atm机编程java_初识Java,关于一个简单的ATM机的java程序设计相关推荐

  1. java制作一个简单的画板_【Java】Thymeleaf一个简单示例

    Thymeleaf简单介绍 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymeleaf和Freemar ...

  2. java编写一个简单的ATM机

    学习java的一点记录01 简单ATM机的实现(黑马程序员课程有具体讲解) Acount类 package com.yzh.atm;public class Account {private Stri ...

  3. .假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”结束交易。

    假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户"密码错误,请取卡"结束交易.如果用户密码正确,再提示用户输 ...

  4. 初识Android 制作一个简单的记账本

    初识Android 制作一个简单的记账本 主要功能 实现一个记账本页面 可以添加数据并更新到页面中 主要步骤 运行截图 主页面 点击红色按钮弹出添加页面 完成后自动更新到目录下 主要功能 实现一个记账 ...

  5. Java实现一个简单的两人五子棋游戏(一) 系统设计

    实现一个基本的单机五子棋功能 该五子棋棋盘大小为19*19的网格,玩家可以通过鼠标点击棋盘来落子,当出现五连珠时,提示一方胜出~ 1)模块划分 主模块:调用其他模块实现五子棋功能 棋盘模块:绘制五子棋 ...

  6. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  7. 用java写一个简单的区块链(下)

    用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...

  8. java txtreader_一个简单的Java读写文件例子

    针对txt文件的读写可以使用java的读写操作.以下是一个简单的例子: import java.io.BufferedReader; import java.io.BufferedWriter; im ...

  9. 如何复制java卡,使用java做一个简单的集卡程序

    使用java做一个简单的集卡程序 本次设想的是要集齐4张卡,每张卡的概率都是25%,如果每个用户集齐需要多少次才能集合完毕 public class Test { public static void ...

  10. java写一个搜索引擎_搜索引擎—-Java实现一个简单的网络爬虫

    Java实现一个简单的爬虫程序. package SearchCrawler;import java.util.*;import java.net.*;import java.io.*;import ...

最新文章

  1. AIoT 2020 年分析
  2. HTML做3D立体特效,html5 3D立体粒子波浪动画特效代码
  3. Python 学习笔记(半ZZ半自己写)
  4. 批量处理jdbc语句提高处理速度
  5. lamp mysql开机自启_centos下设置自启动和配置环境变量的方法
  6. YCrCb与YPrPb的含义与区别
  7. Angularjs调用公共方法与共享数据
  8. [bzoj1036]树的统计
  9. idea 全部报错找不到包
  10. 人大副教授从细节上教你如何快速进行研究生早期的科研之路
  11. 节点服务器列表文件,服务器emule必备知识(更新服务器列表与kad节点文件)
  12. Springcould(二)之搭建服务注册中心Eureka集群
  13. win10打开internet信息服务器,Win10打开internet信息服务的方法
  14. (原创)广度优先搜索解决最短路径问题
  15. 浏览器兼容性总结: IE 火狐 谷歌 360 搜狗
  16. r语言中which的使用_R语言绘图 | 使用pheatmap快速绘制热图
  17. Linux中清除痕迹和隐藏自己-清除last login
  18. 【2019-CVPR-3D人体姿态估计】Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views
  19. 阿德莱德大学计算机专业学费,2020年阿德莱德大学计算机科学专业研究生申请条件及世界排名|学费介绍...
  20. Google Earth Engine (GEE)——如何统计指定区域的像素数量和总量

热门文章

  1. Linux 测试端口是否 ping 的方法
  2. Android对话框总结(普通对话框,单选对话框,多选对话框,自定义对话框)
  3. 计算机组装检测与数据恢复,计算机检测维修与数据恢复.doc
  4. 写高性能 Web 应用程序的 10 个技巧 转自微软资料 .
  5. gitlab+jenkins+maven+docker持续集成(二)——maven安装配置
  6. 苹果:我们从未向中国政府透露源代码
  7. shell编程基础(二)
  8. JSON格式输出Struts2
  9. 通过允许指定IP访问apahce虚拟主机加强服务器安全
  10. 利用php利用root权限执行shell脚本必须进行以下几个步骤