atm机编程java_初识Java,关于一个简单的ATM机的java程序设计
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程序设计相关推荐
- java制作一个简单的画板_【Java】Thymeleaf一个简单示例
Thymeleaf简单介绍 Thymeleaf是用来开发Web和独立环境项目的服务器端的Java模版引擎 Spring官方支持的服务的渲染模板中,并不包含jsp.而是Thymeleaf和Freemar ...
- java编写一个简单的ATM机
学习java的一点记录01 简单ATM机的实现(黑马程序员课程有具体讲解) Acount类 package com.yzh.atm;public class Account {private Stri ...
- .假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户“密码错误,请取卡”结束交易。
假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码(password),最多只能输入三次,超过三次则提示用户"密码错误,请取卡"结束交易.如果用户密码正确,再提示用户输 ...
- 初识Android 制作一个简单的记账本
初识Android 制作一个简单的记账本 主要功能 实现一个记账本页面 可以添加数据并更新到页面中 主要步骤 运行截图 主页面 点击红色按钮弹出添加页面 完成后自动更新到目录下 主要功能 实现一个记账 ...
- Java实现一个简单的两人五子棋游戏(一) 系统设计
实现一个基本的单机五子棋功能 该五子棋棋盘大小为19*19的网格,玩家可以通过鼠标点击棋盘来落子,当出现五连珠时,提示一方胜出~ 1)模块划分 主模块:调用其他模块实现五子棋功能 棋盘模块:绘制五子棋 ...
- java编写存钱_用Java编写一个简单的存款
package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...
- 用java写一个简单的区块链(下)
用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...
- java txtreader_一个简单的Java读写文件例子
针对txt文件的读写可以使用java的读写操作.以下是一个简单的例子: import java.io.BufferedReader; import java.io.BufferedWriter; im ...
- 如何复制java卡,使用java做一个简单的集卡程序
使用java做一个简单的集卡程序 本次设想的是要集齐4张卡,每张卡的概率都是25%,如果每个用户集齐需要多少次才能集合完毕 public class Test { public static void ...
- java写一个搜索引擎_搜索引擎—-Java实现一个简单的网络爬虫
Java实现一个简单的爬虫程序. package SearchCrawler;import java.util.*;import java.net.*;import java.io.*;import ...
最新文章
- AIoT 2020 年分析
- HTML做3D立体特效,html5 3D立体粒子波浪动画特效代码
- Python 学习笔记(半ZZ半自己写)
- 批量处理jdbc语句提高处理速度
- lamp mysql开机自启_centos下设置自启动和配置环境变量的方法
- YCrCb与YPrPb的含义与区别
- Angularjs调用公共方法与共享数据
- [bzoj1036]树的统计
- idea 全部报错找不到包
- 人大副教授从细节上教你如何快速进行研究生早期的科研之路
- 节点服务器列表文件,服务器emule必备知识(更新服务器列表与kad节点文件)
- Springcould(二)之搭建服务注册中心Eureka集群
- win10打开internet信息服务器,Win10打开internet信息服务的方法
- (原创)广度优先搜索解决最短路径问题
- 浏览器兼容性总结: IE 火狐 谷歌 360 搜狗
- r语言中which的使用_R语言绘图 | 使用pheatmap快速绘制热图
- Linux中清除痕迹和隐藏自己-清除last login
- 【2019-CVPR-3D人体姿态估计】Fast and Robust Multi-Person 3D Pose Estimation from Multiple Views
- 阿德莱德大学计算机专业学费,2020年阿德莱德大学计算机科学专业研究生申请条件及世界排名|学费介绍...
- Google Earth Engine (GEE)——如何统计指定区域的像素数量和总量
热门文章
- Linux 测试端口是否 ping 的方法
- Android对话框总结(普通对话框,单选对话框,多选对话框,自定义对话框)
- 计算机组装检测与数据恢复,计算机检测维修与数据恢复.doc
- 写高性能 Web 应用程序的 10 个技巧 转自微软资料 .
- gitlab+jenkins+maven+docker持续集成(二)——maven安装配置
- 苹果:我们从未向中国政府透露源代码
- shell编程基础(二)
- JSON格式输出Struts2
- 通过允许指定IP访问apahce虚拟主机加强服务器安全
- 利用php利用root权限执行shell脚本必须进行以下几个步骤