📄 bank.java
字号:
package com.gaoying.util;
import javax.swing.JOptionPane;
import com.gaoying.model.Account;
public class Bank {
private Account[] acc;
private int index=-1;
public Bank(){
this.acc=FileInOut.readAllAcc();
}
//新建帐户
public void creatAccount(){
String name=JOptionPane.showInputDialog("输入姓名");
String password=getPass();
String num=FileInOut.getAccNum();
double money=Double.parseDouble(
JOptionPane.showInputDialog("请输入开户金额:"));
Account acc=new Account(name,password,num,money);
FileInOut.createAcc(acc);
this.acc=FileInOut.readAllAcc();
}
//老账户操作
//验证并或得老账户
public void getOldAcc(){
String num=JOptionPane.showInputDialog("输入账号:");
int index=secanNum(num);
if(index!=-1&&acc[index].isType()){
if(getAccPass(index)){
this.index=index;
opOldAcc();
}
}else if(index==-1){
JOptionPane.showMessageDialog(null, "无此账号");
}else{
JOptionPane.showMessageDialog(null,"账号已锁定,请与银行联系");
}
}
public void opOldAcc(){
while(true){
String sel=JOptionPane.showInputDialog("" +
"请选择操作:\n1-存款\n2-取款\n3-修改密码\n4-查询\n" +
"5-转账\n6-退出");
switch(sel.charAt(0)){
case '1':
inMoney();
break;
case '2':
outMoney();
break;
case '3':
chPassword();
break;
case '4':
JOptionPane.showMessageDialog(null,acc[index].toString());
break;
case '5':
reMoney();
break;
case '6':
return;
}
}
}
//解锁帐户
public void unlockAcc(){
String num=JOptionPane.showInputDialog("请输入卡号:");
int index=secanNum(num);
if(index!=-1){
acc[index].setType(true);
FileInOut.saveAllACC(acc);
}else{
JOptionPane.showMessageDialog(null, "此账号不存在");
}
}
//***********************************************************************************************
//建立密码
public static String getPass(){
String st=null;
while(true){
String pas=JOptionPane.showInputDialog("输入密码");
String pa1=JOptionPane.showInputDialog("确认密码:");
if(pas.equals(pa1)){
st=pas;
break;
}
}
return st;
}
//按账号查询帐户位置
public int secanNum(String num){
int index=-1;
for(int i=0;i<acc.length;i++){
if(acc[i].getCardnum().equals(num)){
index=i;
break;
}
}
return index;
}
//密码验证
public boolean getAccPass(int index){
boolean flag=false;
for(int i=0;i<3;i++){
String pas=JOptionPane.showInputDialog("输入密码:");
if(acc[index].getPassword().equals(pas)){
flag=true;
break;
}else if(i<3){
JOptionPane.showMessageDialog(null,"密码错误,请重新输入:");
}else{
acc[index].setType(false);
JOptionPane.showMessageDialog(null,"吞卡");
break;
}
}
return flag;
}
//存款
public void inMoney(){
double money=Double.parseDouble(JOptionPane.
showInputDialog("请输入存款金额:"));
acc[index].setMoney(money+acc[index].getMoney());
FileInOut.saveAllACC(acc);
}
//取款
public void outMoney(){
double money=Double.parseDouble(JOptionPane.showInputDialog("请输入取款金额:"));
if(money<acc[index].getMoney()){
acc[index].setMoney(acc[index].getMoney()-money);
FileInOut.saveAllACC(acc);
}else{
JOptionPane.showMessageDialog(null,"余额不足");
}
}
//修改密码
public void chPassword(){
String pas=null;
while(true){
String pas1=JOptionPane.showInputDialog("请输入新密码:");
String pas2=JOptionPane.showInputDialog("请再次输入新密码:");
if(pas1.equals(pas2)){
pas=pas1;
acc[this.index].setCardnum(pas);
FileInOut.saveAllACC(this.acc);
JOptionPane.showMessageDialog(null,"修改密码成功");
break;
}
}
}
//转账
public void reMoney(){
String num=JOptionPane.showInputDialog("请输入转账账号:");
int index=secanNum(num);
if(index!=-1){
double money=Double.parseDouble(JOptionPane.showInputDialog("请输入转账金额:"));
if(money<acc[this.index].getMoney()){
acc[this.index].setMoney(acc[this.index].getMoney()-money);
acc[index].setMoney(acc[index].getMoney()+money);
FileInOut.saveAllACC(acc);
}else{
JOptionPane.showMessageDialog(null,"余额不足");
}
}else{
JOptionPane.showMessageDialog(null,"账号不存在");
}
}
//后台操作
public static void main(String[] args){
Bank bank=new Bank();
boolean flag=true;
while(flag){
String sel=JOptionPane.showInputDialog("请选择操作\n1.-新建帐户\n" +
"2.-解锁老账户\n3.-老账户操作\n4.-察看所有帐户\n5.-退出");
switch(sel.charAt(0)){
case '1':
bank.creatAccount();
break;
case '2':
bank.unlockAcc();
break;
case '3':
bank.getOldAcc();
break;
case '4':
for(Account ac:bank.acc){
System.out.println(ac.getInfo());
}
break;
case '5':
flag=false;
break;
}
}
}
//""""""""""""""""""""""""""""""""""""""""""""""""""""""''''
public Account[] getAcc() {
return acc;
}
public void setAcc(Account[] acc) {
this.acc = acc;
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -