Java实现简单的银⾏管理系统(最基本的功能易上⼿)
⽂章⽬录
实现了⼀个最基本的银⾏管理系统(基于类与对象),⽆复杂功能,易于初学者上⼿操作。基本框架实现后,可继续丰富其功能,实现更强⼤的管理功能,或实现图形界⾯、输⼊输出流保存、连接数据库等等。
⼀、简介
1. 问题描述
实现⼀个简单的银⾏储蓄系统,完成活期⽤户的存款和取款业务。
2. 基本要求
1.实现描述银⾏的类,记录系统中现有哪些储户(提⽰:可⽤对象数组实现,但须注意判断数组越界的情况),该类中要求包含三个
⽅法:
(1)⽣成新储户的⽅法;
(2)按照账户删除储户的⽅法;
(3)按照账户查询储户的⽅法,要求显⽰查询结果。
2.定义储户类。其属性包含账号,存款⼈姓名、⾝份证号、地址、存款余额;其操作有存款、取款、显⽰储户信息。
3.编写测试类,测试上述所要求的各项功能。
设计简单的菜单界⾯,以供功能选择。
3. 实现的功能
1.增添账户信息
2.存(取)款操作
3.删除账户信息(按卡号/姓名检索)
4.读取账户信息(按卡号/姓名检索)
⼆、详细设计
本程序⽤户的存储结构为对象数组
1)Despositor类
package BankSystem;
public class Depositor{
private int number;/*卡号*/
private String name;/*姓名*/
private String personId;/*⾝份证号*/
private String address;/*邮箱地址*/
private String password;/*密码*/
private float balance;/*余额*/
public Depositor(){/*不带形参的构造函数,⽤来初始化*/
number=0;
name="0";
personId="0";
address="0";
password="123456";
balance=0;
}
public int shownumber(){return number;}
public String showname(){return name;}
public String showid(){return personId;}
public String showaddress(){return address;}
public String showkey(){return password;}
public float showbalance(){return balance;}
public void inputnumber(int number){this.number=number;}
public void inputname(String name){this.name=name;}
public void inputid(String id){this.personId=id;}
public void inputaddress(String address){this.address=address;} public void inputkey(String password){this.password=password;} public void inputbalance(float balance){this.balance=balance;}
public void inputbalance(int money){
this.balance +=money;
System.out.println("您已经存⼊"+ money +"元,账户余额为"+ balance ); }
public void deposit(int money){
this.balance -= money;
System.out.println("您已经取出"+ money +"元,账户余额为"+ balance ); }
public void show(){
System.out.println("******************************");
System.out.println("*账户创建成功!您的账户信息如下:");
System.out.println("*银⾏卡号为:"+ number );
System.out.println("*密码为:"+ password);
System.out.println("*姓名为:"+ name);
System.out.println("*⾝份证号码为:"+ personId);
System.out.println("*邮箱地址为:"+ address);
System.out.println("*账户余额为:"+ balance);
System.out.println("******************************");
}
public void show1(){
System.out.println("******************************");
System.out.println("*账户信息如下:");
System.out.println("*银⾏卡号为:"+ number );
//System.out.println("*密码为:"+ password);
System.out.println("*姓名为:"+ name);
System.out.println("*⾝份证号码为:"+ personId);
System.out.println("*邮箱地址为:"+ address);
System.out.println("*账户余额为:"+ balance);
System.out.println("******************************");
}
};
2)增添账户信息
3)存取款操作
4)查询账户信息
Step1 输⼊管理员密码。正确执⾏Step2,否则执⾏Step7。Step2 :
a) 选择按卡号检索,执⾏Step3,
b) 选择姓名检索,执⾏Step4。
Step3 输出所有账户卡号,输⼊卡号选择某⼀账户,执⾏Step5。Step4 输出所有账户姓名,输⼊姓名选择某⼀账户。
Step5 输出该账户信息。
Step6 输⼊修改信息。
Step7 返回主菜单。
5)删除账户信息
输⼊管理员密码以及检索⽅式同4),此处不再赘述。
Step1 输⼊要删除的账户,给出删除警告,“是”则执⾏Step2,“否”则执⾏Step5。
Step2 如果该账户是已有对象数组的最后⼀个,则执⾏Step3,否则执⾏Step4。
Step3 同时将现有⼈数COUNT减⼀,执⾏Step。
Step4 将最后⼀个数组的信息赋给要删除的那⼀个,同时将现有⼈数COUNT减⼀。
Step5 返回主菜单。
6)数据的读取与保存(未实现)
采⽤OutStreamWriter和InputStreamReader,保存在txt⽂件中,数据⽤空格隔开,实现数据的读取与保存。
三、代码
1.Depositor类见上
2.Bank类
银⾏管理员未⽤单独的类来实现,以Bank类中的manage()⽅法来实现
package BankSystem;
import Scanner;
public class Bank {
int i;
private Depositor[] depositor =new Depositor[100];
private int accountNum =0;
private String password1;
int number =100000;
int j=1;
private String manage_password ="@123456";
Scanner sc =new Scanner(System.in);
int insert;
public Bank(){
}
// 主界⾯
public void mainView(){
System.out.println("******欢迎登⼊银⾏管理系统********");
System.out.println("******请选择业务***************");
System.out.println("******1、创建账户**************");
System.out.println("******2、登⼊账户**************");
System.out.println("******3、管理员登录**************");
}
public void select(){
int select = sc.nextInt();
switch(select){
case1:this.openAccount();
break;
();
break;
case3:this.manage();
case3:this.manage();
break;
}
}
public void manage(){
boolean flag =false;
System.out.println("请输⼊您的密码");
String password = sc.next();
if(password.equals(manage_password)){
flag =true;
}
if(flag ==false){
System.out.println("登录失败");
}
if(flag ==true){
System.out.println("登录成功");
do{
System.out.println("请选择操作:");
System.out.println("******1、查改账户信息*****************");
System.out.println("******2、删除账户信息*****************");
System.out.println("******3、按任意键退出*****************");
insert = sc.nextInt();
switch(insert){
case1://1、查询账户信息
System.out.println("请选择操作:");
System.out.println("******1、按卡号检索*****************");
System.out.println("******2、按姓名检索*****************");
insert = sc.nextInt();
switch(insert){
case1://按卡号
for(int i=0;i<accountNum;i++){
System.out.println("⽤户"+(++i)+":"+ depositor[--i].shownumber());
}
System.out.println("请选择⽤户:");
insert = sc.nextInt();
if(insert-1<accountNum)
depositor[insert-1].show1();
else
System.out.println("⽆⽤户!");nextint()方法
break;
case2://按姓名
for(int i=0;i<accountNum;i++){
System.out.println("⽤户"+(++i)+":"+ depositor[--i].showname());
}
System.out.println("请选择⽤户:");
insert = sc.nextInt();
if(insert-1<accountNum)
depositor[insert-1].show1();
else
System.out.println("⽆⽤户!");
break;
}
break;
case2://2、删除账户信息
System.out.println("请选择操作:");
System.out.println("******1、按卡号检索*****************");
System.out.println("******2、按姓名检索*****************");
insert = sc.nextInt();
switch(insert){
case1://按卡号
for(int i=0;i<accountNum;i++){
System.out.println("⽤户"+(++i)+":"+ depositor[--i].shownumber());
}
System.out.println("请选择⽤户:");
insert = sc.nextInt();
if(insert == accountNum){
accountNum--;
System.out.println("剩余⽤户:");
for(int i=0;i<accountNum;i++){
System.out.println("⽤户"+(++i)+":"+ depositor[--i].shownumber());
}
System.out.println("删除成功!");
}
else{
depositor[insert-1].inputname(depositor[accountNum-1].showname());
depositor[insert-1].inputnumber(depositor[accountNum-1].shownumber());                      depositor[insert-1].inputid(depositor[accountNum-1].showid());
depositor[insert-1].inputkey(depositor[accountNum-1].showkey());
depositor[insert-1].inputaddress(depositor[accountNum-1].showaddress());                      depositor[insert-1].inputbalance(depositor[accountNum-1].showbalance());                      accountNum--;
System.out.println("剩余⽤户:");
for(int i=0;i<accountNum;i++){
System.out.println("⽤户"+(++i)+":"+ depositor[--i].shownumber());
}
System.out.println("删除成功!");
}
//depositor[insert-1].show1();
break;
case2://按姓名
for(int i=0;i<accountNum;i++){
System.out.println("⽤户"+(++i)+":"+ depositor[--i].showname());
}
System.out.println("请选择⽤户:");
insert = sc.nextInt();
if(insert == accountNum){
accountNum--;
System.out.println("剩余⽤户:");
for(int i=0;i<accountNum;i++){
System.out.println("⽤户"+(++i)+":"+ depositor[--i].showname());
}
System.out.println("删除成功!");
}
else{
depositor[insert-1].inputname(depositor[accountNum-1].showname());
depositor[insert-1].inputnumber(depositor[accountNum-1].shownumber());                      depositor[insert-1].inputid(depositor[accountNum-1].showid());
depositor[insert-1].inputkey(depositor[accountNum-1].showkey());
depositor[insert-1].inputaddress(depositor[accountNum-1].showaddress());                      depositor[insert-1].inputbalance(depositor[accountNum-1].showbalance());                      accountNum--;
System.out.println("剩余⽤户:");
for(int i=0;i<accountNum;i++){

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。