软件工程银行储蓄管理系统源代码.docx
《软件工程银行储蓄管理系统源代码.docx》由会员分享,可在线阅读,更多相关《软件工程银行储蓄管理系统源代码.docx(17页珍藏版)》请在冰豆网上搜索。
软件工程银行储蓄管理系统源代码
packagesrc.day01;
publicclassACC{
//父类,以下是共有属性和方法
//卡号
protectedstaticlongid;
//名字
protectedstaticStringname;
//身份证
protectedstaticStringpersonId;
//电子邮件
protectedstaticStringemail;
//密码
protectedstaticlongpassword;
//余额
protectedstaticdoublebalance;
publicACC(){
}
publicACC(longid,Stringname,StringpersonId,Stringemail,longpassword,doublebalance){
this.id=id;
this.name=name;
this.personId=personId;
this.email=email;
this.password=password;
this.balance=balance;
}
//存款方法
publicstaticvoiddeposit(doublemoney){
balance+=money;
System.out.println("存款成功,你存入的金额为:
"+money);
}
publiclonggetId(){
returnid;
}
publicvoidsetId(longid){
this.id=id;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPersonId(){
returnpersonId;
}
publicvoidsetPersonId(StringpersonId){
this.personId=personId;
}
publicStringgetEmail(){
returnemail;
}
publicvoidsetEmail(Stringemail){
this.email=email;
}
publiclonggetPassword(){
returnpassword;
}
publicvoidsetPassword(longpassword){
this.password=password;
}
publicdoublegetBalance(){
returnbalance;
}
publicvoidsetBalance(doublebalance){
this.balance=balance;
}
}
packagesrc.day01;
importjava.util.*;
publicclassBank{
//先定义两个动态数组,其中ban用来存储借记卡数据,ba用来存储信用卡数据
staticVectorban=newVector();
staticVectorba=newVector();
//i指借记卡卡号,每增加一个用户,i自增1
//j指借记卡卡号,每增加一个用户,j自增1
privatestaticlongi=110000000;
privatestaticlongj=610000000;
publicBank(){
}
//判断用户办理借记卡还是信用卡的相关业务
publicstaticvoidjusty(intch){
booleank=true;
while(k){
if(ch==1){
System.out.println("你将要办理借记卡业务:
");
break;
}elseif(ch==2){
System.out.println("你将要办理信用卡业务:
");
break;
}else{
System.out.println("输入指令错误,请重新输入:
");
k=false;
}
}
}
//开户方法
publicstaticvoidregister(intch){
justy(ch);
Scannerre=newScanner(System.in);
System.out.println("请输入开户的用户名:
");
Stringna=re.next();
longkey;
//两次密码不同的话循环进行
p:
while(true){
System.out.println("请输入密码:
");
longpa=re.nextLong();
System.out.println("请再次输入密码:
");
longpa1=re.nextLong();
if(pa==pa1){
key=pa1;
break;
}else{
System.out.println("两次不相同,请重新输入");
continuep;
}
}
System.out.println("请输入身份证号:
");
StringperId=re.next();
System.out.println("请输入email地址:
");
Stringem=re.next();
System.out.println("请输入开户金额:
");
doublebal=re.nextDouble();
//存储和输出过程,将以上输入的正确数据存储到相应的数组中
if(ch==1){DebitAccDe=newDebitAcc(i,na,perId,em,key,bal);
ban.add(De);
System.out.println("恭喜你开户成功:
你的卡号为"+i);
i++;
}elseif(ch==2){
CreditAccCr=newCreditAcc(j,na,perId,em,key,bal);
ba.add(Cr);
System.out.println("恭喜你开户成功:
你的卡号为"+j);
j++;
}
System.out.println("用户名:
"+na);
System.out.println("身份证:
"+perId);
System.out.println("email:
"+em);
System.out.println("开户金额:
"+bal);
}
//用户子菜单
publicstaticvoidMenuCu(){
Scannersc=newScanner(System.in);
while(true){
System.out.println("欢迎使用银行系统");
System.out.println("请输入指令:
1、开户2、登陆3、退出到上级");
intchoice=sc.nextInt();
switch(choice){
case1:
openAccount();
break;
case2:
logIn();
break;
case3:
return;
default:
System.out.println("输入指令错误,请重新输入");
break;
}
}
}
//开户方法总方法
privatestaticvoidopenAccount(){
System.out.println("你将要办理开户业务:
");
System.out.println("请输入你要选择的银行卡类型:
1、借记卡2、信用卡");
Scannerop=newScanner(System.in);
intch=op.nextInt();
register(ch);
}
//用户登陆总方法
publicstaticvoidlogIn(){
System.out.println("欢迎进入用户登陆界面,请选择你要登陆的卡号类型:
1、借记卡2、信用卡");
booleano=true;
booleanp=false;
Scannerlo=newScanner(System.in);
intch=lo.nextInt();
justy(ch);
l:
while(o){
System.out.println("请输入你的卡号:
");
longuser=lo.nextLong();
if(ch==1){
//调用对应数组的卡号群与输入卡号匹配,以下同理
for(inti=0;iDebitAccd=(DebitAcc)Bank.ban.get(i);
if(user==d.id){
System.out.println("请输入密码:
");
longpassword=lo.nextLong();
//对密码进行正误判断,正则p为true,可向下进行,false则直接返回输入卡号命令,即只有输密码一次机会
p=pass(password);
while(p){
d.menu1();
break;
}
}else{
//卡号不存在进行的操作
System.out.println("该卡号不存在,是否重新输入:
1、继续2、返回上一级");
intc=lo.nextInt();
if(c==1){
continuel;
}else{
return;
}
}
}
}else{
for(intj=0;jCreditAccc=(CreditAcc)Bank.ba.get(j);
if(user==c.id){
System.out.println("请输入密码:
");
longpassword=lo.nextLong();
p=pass(password);
while(p){
c.menu1();
break;
}
}else{
System.out.println("该卡号不存在,请重新输入:
");
continuel;
}
}
}
}
}
//密码正误判断方法
publicstaticbooleanpass(longpassword){
if(password!
=DebitAcc.password){
System.out.println("密码错误!
重新输入:
");
returnfalse;
}else{
returntrue;
}
}
//管理员操作菜单
publicstaticvoidmenuAd(){
Scannermc=newScanner(System.in);
while(true){
System.out.println("欢迎使用银行系统");
System.out.println("请输入指令:
1、查看所有用户余额2、查看信用卡用户总信用额度3、退出到上级");
intm=mc.nextInt();
switch(m){
case1:
checkBalance();
break;
case2:
checkCeiling();
break;
case3:
return;
default:
System.out.println("输入错误,请重试:
");
break;
}
}
}
//营业员查询总余额
publicstaticvoidcheckBalance(){
doublek=0.0;
for(inti=0;iDebitAccd=(DebitAcc)Bank.ban.get(i);
k+=d.balance;
}
for(intj=0;jCreditAccc=(CreditAcc)Bank.ba.get(j);
k+=c.balance;
}
System.out.println("本银行账户的总余额为:
"+k);
}
publicstaticvoidcheckCeiling(){
doublek=0.0;
for(intj=0;jCreditAccc=(CreditAcc)Bank.ba.get(j);
k+=c.ceiling;
}
System.out.println("本银行信用卡账户的总信用度为:
"+k);
}
//银行系统总菜单
publicstaticvoidmenuWel(){
Scannerb=newScanner(System.in);
while(true){
System.out.println("欢迎使用银行系统");
System.out.println("请输入指令:
1、营业管理员2、普通用户3、退出");
intba=b.nextInt();
switch(ba){
case1:
menuAd();
break;
case2:
MenuCu();
break;
case3:
System.out.println("感谢你的使用,欢迎下次光临");
System.exit(0);
}
}
}
}
packagesrc.day01;
importjava.util.*;
publicclassCreditAccextendsACC{
//信用卡子类先定义信用额度为一常量
publicdoubleceiling=500.0;
CreditAcc(){
super();
}
CreditAcc(longid,Stringname,StringpersonId,Stringemail,longpassword,doublebalance){
super(id,name,personId,email,password,balance);
}
//取款方法
publicvoidwithdraw(doublemoney){
if(money>balance){
System.out.println("你的余额已不足,是否透支?
1.透支2.不透支");
Scannercr=newScanner(System.in);
intc=cr.nextInt();
switch(c){
case1:
if(ceiling+balanceSystem.out.println("信用度不足,无法透支,请重新输入");
}else{
ceiling=(ceiling+balance)-money;
balance=0;
}
break;
case2:
break;
default:
System.out.println("操作错误,请重新输入");
break;
}
}
}
//查询方法
publicvoidshow(){
System.out.println("姓名:
"+name+"卡号:
"+id);
if(balance==0){
System.out.println("你的余额为0,信用度为:
"+ceiling);
}else{
System.out.println("你的余额为:
"+balance);
}
}
//信用卡子菜单
publicstaticvoidmenu1(){
booleanb=true;
while(b){
System.out.println("请输入指令:
1、取款2、存款3、查询4、退出到上级");
Scannermen=newScanner(System.in);
intm=men.nextInt();
switch(m){
case1:
System.out.println("请输入取款金额:
");
doublemoney=men.nextDouble();
DebitAcc.withdraw(money);
break;
case2:
System.out.println("请输入存款金额:
");
doublemoney1=men.nextDouble();
DebitAcc.deposit(money1);
break;
case3:
DebitAcc.show();
break;
case4:
return;
}
}
}
}
packagesrc.day01;
importjava.util.Scanner;
publicclassDebitAccextendsACC{
//借记卡子类
DebitAcc(){
super();
}
DebitAcc(longid,Stringname,StringpersonId,Stringemail,longpassword,doubleancbalancee){
super(id,name,personId,email,password,ancbalancee);
}
//借记卡子菜单
publicstaticvoidmenu1(){
booleanb=true;
while(b){
System.out.println("请输入指令:
1、取款2、存款3、查询4、退出到上级");
Scannermen=newScanner(System.in);
intm=men.nextInt();
switch(m){
case1:
System.out.println("请输入取款金额:
");
doublemoney=men.nextDouble();
DebitAcc.withdraw(money);
break;
case2:
System.out.println("请输入存款金额:
");
doublemoney1=men.nextDouble();
DebitAcc.deposit(money1);
break;
case3:
DebitAcc.show();
break;
case4:
return;
}
}
}
//取款方法,不可透支
publicstaticvoidwithdraw(doublemoney){
if(money>balance){
System.out.println("你的余额已不足,无法透支,请你重新输入:
");
return;
}
balance-=money;
}
//查询方法
publicstaticvoidshow(){
System.out.println("姓名:
"+name+"卡号:
"+id);
System.out.println("你的余额为:
"+balance);
}
}
packagesrc.day01;
publicclassWelbank{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
//银行系统主方法
Bankbank=newBank();
bank.menuWel();
}
}