Java:萌新之路——银行账户管理系统
题目
设计一个银行账户管理系统
欢迎使用银行账户管理系统
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:萌新之路——银行账户管理系统相关推荐
- 基于JAVA+Servlet+JSP+MYSQL的银行账户管理系统
开发环境: jdk1.7+eclipse+mysql5.5+tomcat7 涉及技术: 后台:servlet+jsp+jdbc+c3p0连接池+jstl(c标签)+el表达式 前端:jquery+aj ...
- 设计一个银行账户管理系统
**欢迎使用小辉辉建设银行** 银行账户 注册账号 登录 请选择你要执行的银行业务 银行账户管理系统,使用HashMap函数做出来要比较容易一些,而我没有用到哈哈,这个系统开始搞的时候,还没有学到ha ...
- 【MyBatis】第五课 银行账户管理系统网站开发
概念 本文是根据Jsp以及Servlet课程,结合MyBatis框架的综合运用,开发一个小项目网站,使用MVC+三层架构的项目搭建方式来编写本文文章. 1.数据库的创建 本文使用MySQL数据搭建数据 ...
- JAVA萌新学习day17.18天 数据库MySQL
JAVA萌新学习day17.18天 数据库MySQL基本操作 MySQLDemo // name age address 小明 18 大连 小明 18 大连 小明 18 大连/*** 1.数据库 -& ...
- OpenCV4萌新之路——详解图像读取函数 “imread”
OpenCV4萌新之路--详解图像读取函数 "imread" 一.函数简析 二.参数详解 1.String& filename 2.flags = IMREAD_COLOR ...
- JAVA萌新学习day16
JAVA萌新学习day16 设计三个类(每个类名前加前缀 为 你的名这字的全拼) Food类(菜)(价格,名称, 编号 ,类别) Menu类(菜单)(可以根据类别保存所有的食物,商家名) Manage ...
- 项目名称:Bank Account Management System 银行账户管理系统 简称BAM
有兴趣的高手可以发表一下代码 供我们初级者借鉴借鉴 项目名称:Bank Account Management System 银行账户管理系统 简称BAM 项目描述:这是一个银行账户管理系统,用户可 ...
- JAVA萌新学习day25 css
JAVA萌新学习day25 css 一.CSS概念: CSS :层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应 用)或XML(标准 ...
- 基于Java的银行账户管理系统
一.项目介绍 基于Java GUI的银行账户信息管理系统,可直接启动演示.包含账户查询.开户.销户.存款.取款.账户统计等功能.适合作为课程设计.大作业.毕业设计项目. 二.技术介绍: Java;Sp ...
- Java萌新入门的第一篇文章
这篇文章是为了刚入门或者打算入门的萌新们写的,希望看完后能对Java有个初步认识.以后会不定时更新有关Java的干货,就这些要说的,以上. 先介绍下相关背景,不要觉得枯燥,了解一下很有必要. a.计算 ...
最新文章
- R语言ggplot2可视化:可视化斜率图、对比同一数据对象随着时间推移多个状态的差异(Slope Chart)、例如、对比不同癌症5年期、10年期、15年期存活率的差异
- ajax java请求413_jQuery - 拦截所有Ajax请求(统一处理超时、返回结果、错误状态码 )...
- IOS中的XML解析方式
- 搜索引擎排名不友好的五个地点-SEO
- 关于Unity的入门游戏飞机大战的开发(上)
- [机器学习]回归--Polinomial Regression 多项式回归
- 关于Java 8的Optional的介绍
- C++之C/C++内存对齐
- sarscape 将dem文件转化成stl_STL文件,一种前处理网格划分技术??
- 【渝粤教育】国家开放大学2018年秋季 1018t国际公法 参考试题
- 一文搞懂Handler机制原理
- 哈希值定义,哈希值是怎么生成的
- 米家小相机最新固件_不到1000元的米家小相机 都有哪些缺点
- pandas:sample函数解释
- base64解密方法
- 计算机视觉及其工业中的应用,计算机视觉技术在工业领域中的应用
- 腾讯企业邮箱管理权限可实现什么?
- sql 查找一个月内数据
- C#登录拍拍,总是提示输入有误
- 重症肌无力患者不能吃什么