题目

设计一个银行账户管理系统

欢迎使用银行账户管理系统
1.登录
2.注册
3.退出
请输入要执行的操作


当前用户:xxx
1.查询账户余额
2.转入
3.支出
4.查询交易记录
5.退出
请输入要执行的操作

由于是Java萌新,所以本题只要完成上述操作即可,不必过于完善,下面提供的代码在完成上述题目要求的基础上,实现了可注册多个账户而不造成数据混乱,注册时密码不少于六位,有需求者可自行添加,如需数字字母混合之类的,登录时验证用户名是否存在和密码是否匹配,不过没有设计注册时用户名是否有重复,可自行添加。

本题使用HashMap函数较为简单。

如有错误或写的麻烦了,请评论区交流讨论,谢谢。

代码

BankUser.java

import java.util.ArrayList;
import java.util.Scanner;public class BankUser {ArrayList<Double> record = new ArrayList<Double>();Scanner in = new Scanner(System.in);private String userName;            //用户名private String password;            //密码double sum = 0.0;                   //银行账户总额double input;                       //转入金额double output;                      //支出金额public BankUser(String userName, String password) {this.userName = userName;this.password = password;}public void userResearch(String number){                //用于实现银行的基本业务,即登录后的相关操作if(number.equals("1")){                             //查询账户余额System.out.println("账户余额为"+sum);}else if(number.equals("2")){                         //转入金额System.out.print("请输入转入多少金额:");input = in.nextDouble();sum += input;record.add(input);System.out.println("交易完成!");}else if(number.equals("3")){                         //支出金额System.out.println("请输入支出多少金额:");output = in.nextDouble();sum -= output;record.add(-output);System.out.println("交易完成!");}else if(number.equals("4")){                          //交易明细for(int j=1;j<=record.size();j++){if(record.get(j-1)>=0.0)System.out.println(j+". +"+record.get(j-1));elseSystem.out.println(j+". "+record.get(j-1));}}else{                                                 //返回上个界面number="5";}}public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}
}

Register.java

import java.util.ArrayList;
import java.util.Scanner;public class Register {ArrayList<BankUser> useRegister = new ArrayList<BankUser>();Scanner in = new Scanner(System.in);String name;        //用户名String word;        //密码public void addUser(BankUser user){             //将注册的信息添加进数组useRegister.add(user);}public void registerUser(){                     //注册System.out.print("请输入用户名:");name = in.nextLine();System.out.print("请输入密码:");word=in.nextLine();while(true){                                //密码不少于6位if(word.length()<6){System.out.println("密码长度不能小于6位,请重新输入:");word=in.nextLine();}elsebreak;}BankUser customer = new BankUser(name,word);addUser(customer);System.out.println("注册成功!");}
}

Land.java

import java.util.Scanner;public class Land {Scanner in = new Scanner(System.in);String name;                //用户名String word;                //密码String number;              //操作选项Register register;public Land (Register register){this.register=register;}public void userLand(){                 //登录System.out.print("用户名:");name = in.nextLine();System.out.print("密码:");word = in.nextLine();while (true){int i = 0;          //用于标记是否登录成功,方便退出循环int k = 0;for(BankUser user:register.useRegister){if(user.getUserName().equals(name)){while (true){int n = 0;if(user.getPassword().equals(word)){System.out.println("登录成功!");i = 1;n = 1;/*--------------登录之后的界面--------------*/System.out.println("当前用户:"+name);System.out.println("1.查询账户余额");System.out.println("2.转入");System.out.println("3.支出");System.out.println("4.查询交易记录");System.out.println("5.退出");System.out.println("请输入要执行的操作:");/*----------------------------------------*/while(true){                       //实现银行职能重复进行number = in.nextLine();user.userResearch(number);if(number.equals("5")){k = 0;break;}}}else{System.out.print("密码错误,请重新输入:");word = in.nextLine();}if(n==1)break;}}if(i==1)break;k++;}if(k==register.useRegister.size()){                 //遍历数组,若没相同用户名即不存在System.out.println("用户名不存在,请重新输入!");System.out.print("用户名:");name = in.nextLine();System.out.print("密码:");word = in.nextLine();}if(i==1)break;}}
}

Test.java

import java.util.Scanner;public class Test {public static void main(String[] args) {Register register = new Register();Land land = new Land(register);Scanner in = new Scanner(System.in);String number;while(true){/*------------------初始界面------------------*/  System.out.println("欢迎使用银行账户管理系统");System.out.println("1.登录");System.out.println("2.注册");System.out.println("3.退出");System.out.print("请输入要执行的操作:");number = in.nextLine();/*--------------------------------------------*/if(number.equals("2")){                 //注册register.registerUser();}else if(number.equals("1")){            //登录land.userLand();}else if(number.equals("3"))             //退出break;}}
}

Java:萌新之路——银行账户管理系统相关推荐

  1. 基于JAVA+Servlet+JSP+MYSQL的银行账户管理系统

    开发环境: jdk1.7+eclipse+mysql5.5+tomcat7 涉及技术: 后台:servlet+jsp+jdbc+c3p0连接池+jstl(c标签)+el表达式 前端:jquery+aj ...

  2. 设计一个银行账户管理系统

    **欢迎使用小辉辉建设银行** 银行账户 注册账号 登录 请选择你要执行的银行业务 银行账户管理系统,使用HashMap函数做出来要比较容易一些,而我没有用到哈哈,这个系统开始搞的时候,还没有学到ha ...

  3. 【MyBatis】第五课 银行账户管理系统网站开发

    概念 本文是根据Jsp以及Servlet课程,结合MyBatis框架的综合运用,开发一个小项目网站,使用MVC+三层架构的项目搭建方式来编写本文文章. 1.数据库的创建 本文使用MySQL数据搭建数据 ...

  4. JAVA萌新学习day17.18天 数据库MySQL

    JAVA萌新学习day17.18天 数据库MySQL基本操作 MySQLDemo // name age address 小明 18 大连 小明 18 大连 小明 18 大连/*** 1.数据库 -& ...

  5. OpenCV4萌新之路——详解图像读取函数 “imread”

    OpenCV4萌新之路--详解图像读取函数 "imread" 一.函数简析 二.参数详解 1.String& filename 2.flags = IMREAD_COLOR ...

  6. JAVA萌新学习day16

    JAVA萌新学习day16 设计三个类(每个类名前加前缀 为 你的名这字的全拼) Food类(菜)(价格,名称, 编号 ,类别) Menu类(菜单)(可以根据类别保存所有的食物,商家名) Manage ...

  7. 项目名称:Bank Account Management System 银行账户管理系统 简称BAM

    有兴趣的高手可以发表一下代码   供我们初级者借鉴借鉴 项目名称:Bank Account Management System 银行账户管理系统 简称BAM 项目描述:这是一个银行账户管理系统,用户可 ...

  8. JAVA萌新学习day25 css

    JAVA萌新学习day25 css 一.CSS概念: CSS :层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应 用)或XML(标准 ...

  9. 基于Java的银行账户管理系统

    一.项目介绍 基于Java GUI的银行账户信息管理系统,可直接启动演示.包含账户查询.开户.销户.存款.取款.账户统计等功能.适合作为课程设计.大作业.毕业设计项目. 二.技术介绍: Java;Sp ...

  10. Java萌新入门的第一篇文章

    这篇文章是为了刚入门或者打算入门的萌新们写的,希望看完后能对Java有个初步认识.以后会不定时更新有关Java的干货,就这些要说的,以上. 先介绍下相关背景,不要觉得枯燥,了解一下很有必要. a.计算 ...

最新文章

  1. R语言ggplot2可视化:可视化斜率图、对比同一数据对象随着时间推移多个状态的差异(Slope Chart)、例如、对比不同癌症5年期、10年期、15年期存活率的差异
  2. ajax java请求413_jQuery - 拦截所有Ajax请求(统一处理超时、返回结果、错误状态码 )...
  3. IOS中的XML解析方式
  4. 搜索引擎排名不友好的五个地点-SEO
  5. 关于Unity的入门游戏飞机大战的开发(上)
  6. [机器学习]回归--Polinomial Regression 多项式回归
  7. 关于Java 8的Optional的介绍
  8. C++之C/C++内存对齐
  9. sarscape 将dem文件转化成stl_STL文件,一种前处理网格划分技术??
  10. 【渝粤教育】国家开放大学2018年秋季 1018t国际公法 参考试题
  11. 一文搞懂Handler机制原理
  12. 哈希值定义,哈希值是怎么生成的
  13. 米家小相机最新固件_不到1000元的米家小相机 都有哪些缺点
  14. pandas:sample函数解释
  15. base64解密方法
  16. 计算机视觉及其工业中的应用,计算机视觉技术在工业领域中的应用
  17. 腾讯企业邮箱管理权限可实现什么?
  18. sql 查找一个月内数据
  19. C#登录拍拍,总是提示输入有误
  20. 重症肌无力患者不能吃什么

热门文章

  1. 关于阿里云windows服务器上ping不通公网 ip 的解决思路
  2. 区块链 数据交易专利
  3. 【ACWing】1489. 田忌赛马
  4. 大学计算机课是绩点课吗,选修课是什么意思 选修课成绩算入绩点吗
  5. 梅捷512G固态拆机+得一微YS9082HP量产教程+YS9082HP开卡工具
  6. 小象大数据全套视频教程
  7. PM也要学会每天反省
  8. Java|如何用Java定义一个类
  9. 与java的相识、相知、相惜、相恋、相守
  10. php 双引号 转义字符,php中的单引号、双引号和转义字符