简易ATM机
简易ATM机(代码如下):
/*
* 功能:简易银行系统
*/
package day8;
import java.util.Scanner;
/**
*
* @FengYan Huang Administrator
* 下午1:07:20
*/
public class test8_1 {
static int count=0;
static int n=-1;
static boolean flag=false;
static String[] user=new String[10];
static int[] identity={62220000,62220001,62220001,62220002,62220003,62220004,62220005,62220006,62220007,62220008,62220009};
static int[] password=new int[10];
static int[] balance=new int[10];
static Scanner scan=new Scanner(System.in);
public static void main(String[] args) {
fun();
}
public static void fun(){
System.out.println("***欢迎使用ATM机***");
System.out.println("***请选择服务类型***");
System.out.println("***开户***");
System.out.println("***登录***");
System.out.println("***退出***");
String str=scan.next();
if(str.equals("开户")){
register();
}else if(str.equals("登录")){
login();
}else if(str.equals("退出")){
exit();
}else{
System.out.println("很抱歉,无法识别您的操作,请重新选择!!!");
fun();
}
}
public static void login(){
System.out.println("请输入您的卡号:");
int id=scan.nextInt();
for (int i = 0; i < identity.length; i++) {
if(id==identity[i]){
System.out.println("请输入您的密码:");
int ps=scan.nextInt();
if(id==identity[i]&&ps!=password[i]){
System.out.println("温馨提示:");
count++;
System.out.println("您已经输错了"+count+"次密码");
System.out.println("请返回重新操作!");
if(count==3){
System.out.println("您今日的密码输入次数已达上限,卡片已经被吞");
System.out.println("您是否已经忘记了密码???");
System.out.println("请联系本行取回卡片");
fun();
}
login();
}
if(id==identity[i]&&ps==password[i]){
n=i;
System.out.println("***登录成功***");
System.out.println("***欢迎您***"+user[i]);
System.out.println("***请选择服务项目***");
fun1(user,identity,password,balance);
}
}else{
flag=true;
}
}
if(flag=true){
System.out.println("没找到您的卡号!");
System.out.println("请重新操作");
flag=false;
login();
}
}
public static void register(){
System.out.println("***欢迎注册本行银行卡***");
System.out.println("***请输入您的姓名***");
String name=scan.next();
System.out.println("***请输入您的密码***");
int ps=scan.nextInt();
System.out.println("***请确认输入您的密码***");
int ps1=scan.nextInt();
if(ps==ps1){
for (int i = 0; i < user.length; i++) {
if(user[i]==null){
user[i]=name;
password[i]=ps;
System.out.println("***注册成功***");
System.out.println("***您的账户名是:"+user[i]);
System.out.println("***请牢记您的卡号:"+identity[i]);
System.out.println("***请牢记您的密码:"+password[i]);
fun();
}else{
flag=true;
}
}
if(flag=true){
flag=false;
System.out.println("***非常抱歉***");
System.out.println("***本行注册用户已达上限***");
System.out.println("***本行注册用户已达上限***");
fun();
}
}else{
System.out.println("注册失败!!!您两次输入的密码不一样");
fun();
}
}
public static void exit(){
System.out.println("***谢谢您的使用***");
System.out.println("***欢迎再次光临***");
System.out.println("***如果您有好的建议,请联系本行(95555)***");
System.exit(0);
}
public static void fun1(String[] user,int[]identity,int[]password,int[]balance){
System.out.println("***改密***");
System.out.println("***查询***");
System.out.println("***存款***");
System.out.println("***取款***");
System.out.println("***转账***");
System.out.println("***退出***");
String str=scan.next();
if(str.equals("改密")){
changePassword(user,identity,password,balance);
}else if(str.equals("查询")){
insert(user,identity,password,balance);
}else if(str.equals("存款")){
deposit(user,identity,password,balance);
}else if(str.equals("取款")){
withdraw(user,identity,password,balance);
}else if(str.equals("转账")){
transfer(user,identity,password,balance);
}else if(str.equals("退出")){
exit();
}else{
System.out.println("您的操作有误,请重新选择:");
fun1(user,identity,password,balance);
}
}
public static void changePassword(String[] user,int[]identity,int[]password,int[]balance){
System.out.println("***"+user[n]+"***");
System.out.println("***欢迎使用改密系统***");
System.out.println("***请输入新密码:***");
int ps=scan.nextInt();
System.out.println("***请确认新密码:***");
int ps1=scan.nextInt();
if(ps==ps1){
System.out.println("您的密码已经修改成功!");
password[n]=ps;
System.out.println("请牢记您的密码:"+ps);
System.out.println("***系统自动返回ing***");
fun1(user,identity,password,balance);
}else{
System.out.println("两次输入密码不一样!");
System.out.println("请重新操作!");
changePassword(user,identity,password,balance);
}
}
public static void insert(String[] user,int[]identity,int[]password,int[]balance){
System.out.println("***"+user[n]+"***");
System.out.println("***欢迎使用查询系统***");
System.out.println("***您的账户余额为:***");
System.out.println(balance[n]+"元");
System.out.println("***系统自动返回ing***");
fun1(user,identity,password,balance);
}
public static void deposit(String[] user,int[]identity,int[]password,int[]balance){
System.out.println("***"+user[n]+"***");
System.out.println("***欢迎使用存款系统***");
System.out.println("***请输入存款金额***");
int depositmoney=scan.nextInt();
System.out.println("***请放入百元大钞***");
if(depositmoney%100==0){
System.out.println("您要存入的金额是:"+depositmoney+"元");
System.out.println("***系统处理ing***");
balance[n]+=depositmoney;
System.out.println("存款成功!!!");
System.out.println("您的账户余额为:"+balance[n]+"元");
System.out.println("***系统自动返回ing***");
fun1(user,identity,password,balance);
}else{
System.out.println("存款失败!!!");
System.out.println("您放入纸币有疑问,请重新操作");
deposit(user,identity,password,balance);
}
}
public static void withdraw(String[] user,int[]identity,int[]password,int[]balance){
System.out.println("***"+user[n]+"***");
System.out.println("***欢迎使用取款系统***");
System.out.println("***请输入取款金额(为100元的整数倍)***");
int withdrawmoney=scan.nextInt();
System.out.println("***系统处理ing***");
if(balance[n]>withdrawmoney&&withdrawmoney%100==0){
balance[n]-=withdrawmoney;
System.out.println("***正在为您取款ing***");
System.out.println("***请取走您的钞票***");
System.out.println("***您的账户余额为:"+balance[n]+"元***");
System.out.println("***取款成功***");
System.out.println("***系统自动返回ing***");
fun1(user,identity,password,balance);
}else{
System.out.println("***很遗憾!取款失败***");
System.out.println("***给您带来的不便深表遗憾***");
System.out.println("***可能是以下原因造成的:***");
System.out.println("***您的余额不足***");
System.out.println("***您输入的取款金额有误***");
System.out.println("***请重新操作***");
System.out.println("***系统自动返回ing***");
withdraw(user,identity,password,balance);
}
}
public static void transfer(String[] user,int[]identity,int[]password,int[]balance){
System.out.println("***"+user[n]+"***");
System.out.println("***欢迎使用转账系统***");
System.out.println("***请输入您要转入的对方名字:");
String username=scan.next();
for (int i = 0; i < user.length; i++) {
if(username.equals(user[i])){
System.out.println("您要转入的是:"+user[i]+"的账户");
System.out.println("请输入转入的金额");
int transfermoney=scan.nextInt();
System.out.println("***正在为您处理ing***");
if(transfermoney>0&&balance[n]>transfermoney){
balance[n]-=transfermoney;
balance[i]+=transfermoney;
System.out.println("***转账成功***");
System.out.println("您的账户余额为:"+balance[n]);
System.out.println("***系统自动返回ing***");
fun1(user,identity,password,balance);
}else{
System.out.println("转账失败");
System.out.println("可能是您的账户余额不足");
System.out.println("可能是您输入的金额有误");
System.out.println("请返回重新操作");
transfer(user,identity,password,balance);
}
}
else{
flag=true;
}
}
if(flag==true){
System.out.println("没找到账户!");
System.out.println("请重新操作!");
flag=false;
transfer(user,identity,password,balance);
}
}
}
简易ATM机的更多相关文章
- 模拟ATM机银行系统
淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处 ...
- JAVA - ATM机程序
ATM机程序 UnionPayTest.java package oo.day06.work; public class UnionPayTest { } interface UnionPay{ // ...
- 连接数据库——模拟ATM机查、存、取、开户功能
1.界面:包含开户.查询.存款.取款.功能 package com.bank.test; /** * * @author Administrator *界面类 */ public class Jiem ...
- 第一次尝试使用JAVA编写的ATM机程序
package study; import java.util.Scanner; public class ATM { private static int[] users = { 111111, 2 ...
- 简单的小程序实现ATM机操作
简单的小程序实现ATM机操作 代码如下: package Day06; import java.util.Scanner; public class TestAccount { public stat ...
- emWin实现ATM机界面设计,含uCOS-III和FreeRTOS两个版本
第1期:ATM机配套例子:V6-900_STemWin提高篇实验_ATM机(uCOS-III)V6-901_STemWin提高篇实验_ATM机(FreeRTOS) 例程下载地址:http://foru ...
- ATM机模拟系统
实验要求 https://pan.baidu.com/s/1Sq5joWyVsNhY8DYiyI4UmQ 源代码 /*信1705-1 20173458 王嘉梁*/ package atm; impor ...
- python实现atm机基本操作及购物车
一.需求分析 ATM机要为用户提供转账,提现,还款,付款,消费流水,操作记录等操作接口 ATM机要为管理员提供创建用户,冻结解冻,修改额度的功能 ATM机管理员认证使用装饰器来实现 购物车要提供管理员 ...
- 多用户ATM机(面向对象编程)
let readline = require('readline-sync'); // 清屏函数 let clear = () => process.stdout.write(process.p ...
随机推荐
- 第三次Sprint-最后冲刺
由于一些原因,导致我和汝婷被退队了.因此我们是从上星期重新开始做系统. 陈汝婷单独负责: 1.用户输入题目数: 2.限制题数: 3.自动生成用户需要题目数的题目: 4.计时 练丽云单独: 1.异常处理 ...
- CentOS7.3安装rz、sz命令
安装命令: yum install lrzsz 关于rz.sz: lrzsz是一款在linux里可代替ftp上传和下载的程序.lrzsz是一个unix通信套件提供的X,Y,和ZModem文件传输协议. ...
- JavaScript(ECMAScript) with 语句
有同事,爱尝鲜,JavaScript ECMAScript with 语句,找了半天不知道局部变量的出处,原来是with语句搞得鬼. http://www.w3school.com.cn/js/pro ...
- Docker(十五)-Docker的数据管理(volume/bind mount/tmpfs)
Docker提供了三种不同的方式用于将宿主的数据挂载到容器中:volumes,bind mounts,tmpfs volumes.当你不知道该选择哪种方式时,记住,volumes总是正确的选择. vo ...
- ESXi内虚拟机带快照与不带快照的情况下简单性能对比.
1. 两个虚拟机配置相同都为2vCPU 8G内存 一个虚拟机内包含较多的快照且有内容梗概 一个虚拟机不包含快照直接只有一个虚拟机的vmdk磁盘文件 操作系统未windows server 2008r2 ...
- [工作相关] GS产品使用LInux下Oracle数据库以及ASM存储时的数据文件路径写法.
1. 自从公司的GS5版本就已经支持Linux下的oracle数据库通过安装工具自动安装注册了, 只不过路径需要使用linux的命名规则, 如图: /home/oracle/ 注意 最后是有一个 斜线 ...
- canvas高斯模糊算法
对于模糊图片这个效果的实现,其实css3中的filter属性也能够实现,但是这个属性的兼容性不是很好,所以我们通常不用这种方法实现,而使用canvas配合JS实现. <span style=&q ...
- 2016_NENU_CS_3
贴一下比赛的代码, 其中 I 题代码源于final大神 ok_again http://acm.hust.edu.cn/vjudge/contest/127444#overview I /***** ...
- jest & puppeteer & 单元测试 & 集成测试
jest & puppeteer 单元测试 & 集成测试 单元测试,就是测试一个函数或某个代码片段,通过模拟输入确保输出符合预期 集成测试,测的是一个功能模块,比如用户注册功能,集成测 ...
- jquery遍歷
遍歷是什麼? jquery的遍歷指的是移動,就是從選中的元素根據元素之間的關係移動,直到找到目標元素.從DOM樹中,可以進行向上移動(祖先),向下移動(子孫)和水平移動(同胞). 祖先就是父,祖父,曾 ...