银行ATM操作系统作业
package bigHomework.BankSystem;
import java.util.Scanner;
public class ArchitectureOfBank {
public static void main(String[] args) {
System.out.println("------------------------------------------------------------------欢迎来到 PELE银行系统------------------------------------------------------------------------------- ");
Scanner sc = new Scanner( System.in );
String[] accountArrays = {"A","B","C"};
int[] pswArrays= {111,222,333};
double[] balanceArrays = { 1000,2000,3000 };
while(true) { // End of while of mainMenu
int accountNo = 0;
int payeeNo = 0;
boolean bMainMenu = false;
boolean bAccountMenu = false;
System.out.println("1.登录账户");
System.out.println("2.银行理财活动");
System.out.println("3.退出系统");
System.out.println("");
System.out.print("请选择所需操作:");
int mainMenu = sc.nextInt();
if( mainMenu == 1 || mainMenu == 2 || mainMenu == 3 ) {
while( mainMenu == 1 ) {// Log in accountMenu.
int deposite = 0;
int draw = 0;
boolean back = true;
boolean out = false;
boolean bingo = false;
do {
System.out.print("请输入账号名");
String accountIn = sc.next();
System.out.print("请输入密码");
int pswIn = sc.nextInt();
for( int i = 0 ; i < accountArrays.length ; i ++ ) {
if( accountIn.equals( accountArrays[i])) {
accountNo = i;
bingo = true;
break;
}
}
if( !bingo ){
System.out.println("账号名错误");
System.out.println("==== ! ======= ! ====");
System.out.print("重新输入 或者 返回主菜单 ? ( y/other )");
String quite =sc.next();
if(quite.equals("y")) {
System.out.println("====== 请重新输入登录信息 ======");
break;
}
else {
System.out.println(" < < < < < < < < 正在返回主菜单 < < < < < < < < ");
back = false;
out = true;
break;
}
}
if( pswArrays[accountNo] == pswIn ) {
System.out.println("账号登录成功");
back = false;
break;
}
else{
System.out.println("密码错误");
System.out.println("==== ! ======= ! ====");
System.out.print("重新输入 或者 返回主菜单?(y/other)");
String re =sc.next();
if(re.equals("y")) {
System.out.println("====== 请重新输入登录信息 ======");
}
else {
System.out.println(" < < < < < < < < 正在返回主菜单 < < < < < < < < ");
out = true;
back = false;
break;
}
}
// delete}
}
while( back );
if( out ) {
break;
}
//用户界面 Account mainMenu
while( bingo ) {
bAccountMenu = false;
bMainMenu = false;
System.out.println("1. 查询余额");
System.out.println("2. 存款业务");
System.out.println("3. 取款业务");
System.out.println("4. 转账业务");
System.out.println("5. 退出账户");
System.out.println("");
System.out.print("选择所需操作 :");
int oprLogin = sc.nextInt();
System.out.println("> > > > > > > > > > > > > > > ");
//用户界面switch
switch(oprLogin) {
case 1 :
do {
back = true;
System.out.println(" 用户 " + accountArrays[accountNo] + "目前的账户余额为:" + balanceArrays[accountNo] );
System.out.println("> > > > > > > > > > > > > > > ");
System.out.print(" 返回用户菜单 或者 刷新界面? ( y / other )");
String bLogin = sc.next();
if(bLogin.equals("y")) {
out = true;
System.out.println(" < < < < < < 正在返回用户菜单 < < < < < < < < < < ");
bAccountMenu = true;
break;
}
}
while(back);
if( bAccountMenu ) {
break;
}
case 2 :
do {
back = true;
System.out.println(" 请输入存款金额(仅限整百金额) ");
deposite = sc.nextInt();
if( deposite % 100 == 0 && deposite > 0 ) {
balanceArrays[accountNo] += deposite;
System.out.println(" > > > > > > > > > > > > > > > ");
System.out.println("存款成功");
System.out.println(" 返回用户菜单 或者 继续存款? ( y / other )");
String bAccoountMenu = sc.next();
if( bAccoountMenu.equals("y") ) {
System.out.println(" < < < < < < < 正在返回用户菜单 < < < < < < < < < ");
bAccountMenu = true;
break;
}
}
else {
System.out.println("输入金额有误");
System.out.println(" 返回用户菜单 或者 重新输入 ? ( y / other )");
String bAccoountMenu = sc.next();
if( bAccoountMenu.equals("y") ) {
System.out.println(" < < < < < < < < 正在返回用户菜单 < < < < < < < < ");
bAccountMenu = true;
break;
}
}
}
while( back );
if( bAccountMenu ) {
break;
}
case 3 :
do {
back = true;
System.out.println(" 请输入取款金额(仅限整百金额) ");
draw = sc.nextInt();
if( draw % 100 == 0 && draw > 0 && draw <= balanceArrays[accountNo] ) {
balanceArrays[accountNo] -= draw;
System.out.println("> > > > > > > > > > > > > > > ");
System.out.println( " 已出款 , 请及时取走现金! ");
System.out.println(" 继续取款 或者 返回用户菜单? ( y / other )");
String bAccoountMenu = sc.next();
if( bAccoountMenu.equals("y") ) {
}
else {
System.out.println(" < < < < < < < 正在返回用户菜单 < < < < < < < < < ");
bAccountMenu = true;
break;
}
}
else {
System.out.println("余额不足");
System.out.println(" 返回用户菜单 或者 重新输入 ? ( y / other )");
String bAccoountMenu = sc.next();
if( bAccoountMenu.equals("y") ) {
System.out.println(" < < < < < < < 正在返回用户菜单 < < < < < < < < < ");
bAccountMenu = true;
break;
}
}
}
while( back );
if( bAccountMenu ) {
break;
}
case 4 :
do {
back = true;
boolean bingoPayee = false ;
System.out.print("请输入收款人账户名 : ");
String payee = sc.next();
for( int i = 0 ; i < accountArrays.length ; i ++ ) {
if( payee.equals( accountArrays[i] ) ) {
payeeNo = i;
bingoPayee = true;
break;
}
}
if( bingoPayee ) {
System.out.println(" 请输入转账金额 ");
double transfer = sc.nextDouble();
if( transfer <= balanceArrays[accountNo] ) {
balanceArrays[accountNo] -= transfer;
balanceArrays[payeeNo] += transfer;
System.out.println("> > > > > > > > > > > > > > > ");
System.out.println( " 转账成功! ");
System.out.print(" 继续转账 或者 返回用户菜单? ( y / other )");
String bAccoountMenu = sc.next();
if( bAccoountMenu.equals("y") ) {
}
else {
System.out.println(" < < < < < < < 正在返回用户菜单 < < < < < < < < < ");
bAccountMenu = true;
break;
}
}
else {
System.out.println("输入金额错误");
System.out.println("==== ! ======= ! ====");
System.out.print(" 重新输入转账金额 或者 返回用户菜单? ( y / other )");
String bAccoountMenu = sc.next();
if( bAccoountMenu.equals("y") ) {
}
else {
System.out.println("< < < < < < < 正在返回用户菜单 < < < < < < < < <");
bAccountMenu = true;
break;
}
}
}
else {
System.out.println("未找到该用户");
System.out.println("==== ! ======= ! ====");
System.out.print(" 重新输入收款账户名 或者 返回用户菜单? ( y / other )");
String bAccoountMenu = sc.next();
if( bAccoountMenu.equals("y") ) {
}
else {
System.out.println("< < < < < < < 正在返回用户菜单 < < < < < < < < <");
bAccountMenu = true;
break;
}
}
}
while( back );
if( bAccountMenu ) {
break;
}
case 5 :
{
System.out.println("< < < < < < < 正在退出用户菜单 < < < < < < < < <");
bMainMenu = true;
break;
}
} //用户界面switch
if( bMainMenu ) {
break;
}
}//用户界面 Account mainMenu(bingo)
if( bMainMenu ) {
break;
}
}// Log in account.
while( mainMenu == 2 ) { // financial activities
bMainMenu = false;
System.out.println("1. 银行奥运纪念币发行");
System.out.println("2. 银行短期理财产品活动");
System.out.println("3. 银行长期理财产品活动");
System.out.println("4. V.I.P. 理财沙龙 ");
System.out.println("5. 退出 ");
System.out.println("");
System.out.print("请选择所需操作:");
int secondMenu = sc.nextInt();
switch( secondMenu ) {
case 1 :
{
System.out.println(" 银行定于2020年12月1日发行第24届冬季奥林匹克运动会金银纪念币(第1组)一套。"
+ "该套纪念币共9枚,其中金质纪念币3枚,银质纪念币5枚,金银双金属纪念币1枚,"
+ "均为中华人民共和国法定货币。面额500元的30克金12克银圆形双金属纪念币,最大发行量为1万枚。 ");
System.out.println("退出? ( y / other )");
String quite = sc.next();
if( quite.equals("y") ) {
break;
}
}
case 2 :
{
System.out.println("灵活存产品 ,年化收益率在4.8%左右,属于银行存款产品,50万以内100%赔付,适合灵活型及以上投资者。 ");
System.out.println("退出? ( y / other )");
String quite = sc.next();
if( quite.equals("y") ) {
break;
}
}
case 3 :
{
System.out.println("稳健存产品 ,年化收益率在6%左右,属于银行存款产品,50万以内100%赔付,适合稳健型及以上投资者。 ");
System.out.println("退出? ( y / other )");
String quite = sc.next();
if( quite.equals("y") ) {
break;
}
}
case 4 :
{
System.out.println("7月10日,本行有幸邀请到上海复旦大学的金融系教授钱军"
+ "为本行的VIP用户带来一场最新的全球金融形势的分享,"
+ "届时会给每位铂金VIP用户进行单独的投资分析和理财建议 ");
System.out.println("退出? ( y / other )");
String quite = sc.next();
if( quite.equals("y") ) {
break;
}
}
case 5 :
{
bMainMenu = true;
break;
}
}
if( bMainMenu ) {
System.out.println("正在返回主菜单");
System.out.println(" < < < < < < < < < < < < < < < < ");
break;
}
} // financial activities
if( mainMenu == 3 ) {//Exit
System.out.println("感谢使用,欢迎下次再来 !");
System.out.println("======== 再见 ========");
System.exit(0);
}
}
else {
System.out.println(" 输入错误,请重新输入!");
System.out.println("==== ! ======= ! ====");
}
}// End of while of mainMenu
//End of Main
}
}
银行ATM操作系统作业相关推荐
- python银行ATM自动取款机
python银行ATM自动取款机 银行自动取款机 main.py(主程序) admin.py atm.py user.py card.py 总结 银行自动取款机 main.py(主程序) main.p ...
- Java实现超级简易的银行ATM机项目(详细注释版)
首先放一个客户(其实就是老师给的作业)需求的效果图 在这里先准备所需要的类 用户类:卡号 密码 真实姓名 余额 开户时间定义Account类 存储用户信息 封装属性 并提供getXXX和setXXX ...
- Java 多线程 模拟银行ATM实时存取钱
近期想回顾一些知识: 一.Java 多线程 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.多线程是多任务的一种特别的形式,但多线程使用了更小的资源开 ...
- 基于5G/4G无线通信的银行ATM无线通信联网方案
近年来,物联网的应用各个领域的应用不断地扩展开来,5G/4G无线应用对行业应用的影响也越来越广泛,银行采用5G/4G无线网络方式构建无线组网系统,在非常安全可靠的组网条件下,建立起银行无线交易行业系统 ...
- java atm模拟系统_Java RPC模式开发一个银行atm模拟系统
采用rpc模式开发一个银行atm模拟系统. 系统主要提供一个服务Card,该服务接口可以提供登录.查询.取钱.存钱等功能.服务接口的设计和实现自定义. Atm客户端功能需求: 1.ATM可以实现用户登 ...
- C#——《C#语言程序设计》实验报告——继承与多态——银行ATM程序
一.实验目的 掌握C#中各种成员的写法: 掌握C#继承和多态概念: 掌握常用接口的使用方法. 二.实验内容 在银行ATM示例的基础上,利用面向对象的思想及语法,进行改进.要求如下: 1)使用面向对象的 ...
- C#——银行ATM程序DEMO
问题描述 1. 使用面向对象的思想,模拟现实世界中的银行.账号.ATM等对象,其中类中有字段.方法: 2. 在程序中适当的地方,使用属性.索引,注意使用修饰符: 3. 使用继承,继承账号(Accoun ...
- 计算机操作系统作业答案,计算机操作系统作业及答案
计算机操作系统作业及答案 作业作业若页大小为,计算机地址总线为位,则页号共有多少位?逻辑地址空间最多包含多少页?逻辑地址在第几页?页内偏移是多少?若该页被装进物理块中,则物理地址是多少?解:所以页内偏 ...
- 课程设计:基于SQL Server的银行ATM 存取款机系统设计与实现
目录 前言 一.项目背景 1.项目任务 2.项目技能目标 3.需求概述 4.开发环境 5 .问题分析 (1) 银行存取款业务介绍 (2) 客户信息 (3) 银行卡账户信息 (4) 银行卡交易信息 (5 ...
最新文章
- HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。...
- vacode允许c_Visual Studio Code 配置C/C++环境
- Leetcode 300 最长递增子序列 (每日一题 20210803)
- 报时功能_现在的智能机都没有内置整点自动报时吗?锤子坚果手机SOS有!
- (六)python3 只需3小时带你轻松入门——循环
- 分析java 线程占用内存_Java线程:保留的内存分析
- C++ Vecctor容器浅析
- 阿里P8架构师谈:JVM的内存分配、运行原理、回收算法机制
- contains方法_【原创】Pandas数据处理系列(二):常用处理方法笔记
- 161122、BOM 操作写法示例
- java svn配置环境变量,Android环境变量配置和安装SVN
- linux的日志监控和定期处理脚本
- 详解:CDH预警配置 QQ邮箱 与 企业实操
- Java小游戏之飞翔的小鸟
- 怎么用计算机解方程,计算器怎么解方程
- C#:在一个窗体类中改变另一个窗体控件的属性
- 以亲身经历解读经典的定律或法则
- 面试android开发工程师小结
- 优秀课程案例:使用Scratch制作坦克大战增强版!
- 计算机主机机箱背后,2.8L的办公电脑?可以背在显示器后面的主机—你见过吗?...