问题描述
- 用java做银行管理系统
-
银行管理系统设计要求:界面部分与后边的业务逻辑处理,要用接口进行分离。不要让界面部分与业务逻辑处理混合在一起!!!
银行管理系统分为三个模块:登录模块、管理员(即银行操作员)模块和客户模块。
登录模块:
在登录模块中,以用户名区别管理员和客户。
管理员用工号登录,密码也为工号。客户用自己开户时的用户名登录(客户用户名为英文字符串,不得有其他字符),密码为客户在开户时的密码,第一次使用本系统的客户可以通过两种方式开户:○1 通过管理员办理开户,○2通过登录界面的开户按钮开户。不管是管理员还是客户,密码输错三次,该用户名将被锁定,管理员到上一级管理员处重置密码,客户凭有效证件到管理员处重置密码。
管理员(即银行操作员)模块:
在该模块中,会显示操作员工的工号、操作等级和八个按钮(a.开户、b.销户、c.查询用户(顶级操作权)、d.存款、e.取款、f.修改信息、g.修改利率和奖金、h.注销)。
客户模块:
该模块会显示客户的用户名和七个相关按钮(a.存款、b.取款、c.查询余额、d.转账、e.修改个人信息、f.修改密码、g.注销)。
各个按钮的功能如下:
管理员模块各个按钮的功能如下:
a. 开户:录入客户的姓名(英文字符串),身份证号,电话号码,住址,开户金额,密码由客户输入。点击确定是检查用户名和身份证号码是否合法,若无误,告知已成功;否则,打印错误信息,返回重填;
b. 销户:客户凭本人身份证及密码,在管理员处办理销户;
c. 查询客户(顶级操作权):显示客户的用户名,身份证号,电话,住址,账户余额,利率,存款类别,存款年限,账户活动记录。不可更改客户的信息;
d. 存款:用户名,存款金额,存款类别,存款年限。点击确定,打印客户余额,同时更新数据;
e. (放到f里)判断存款金额:判断用户取款金额是否满足要求(满足:进入第7步消除取款信息;不满足:提示所输金额错误)
f. 取款:取款金额,用户名,密码。点击确定,打印客户余额,同时更新数据;
g. 修改信息:可以更改管理员的登录密码,上一级的管理员可以重置已被禁用的下一级管理员的密码,未被禁用不可更改;管理员可以重置已被禁用的客户密码;
h. 修改利率和奖金(顶级操作权):设置不同类别、不同年限的存款利率及员工的工资和奖金;
i. 注销:退出并关闭系统,回到登录界面。
客户模块各个按钮的功能如下:
a. 存款:存入金额,更新数据;
b. 取款:取出金额,更新数据;
c. 查询余额:显示账户的余额;
d. 转账:转入的账号,确认转入的账号,转入的金额。点击确定,检查转入账号是否合法,合法,更新数据;否则,重新输入转入账号;
e. 修改个人信息:只可以更改电话号码,住址,用户名及身份证号码不可更改;
f. 修改密码:输入一次原密码,和两次确认新密码;
g. 注销:退出并关闭系统,回到登录界面。
解决方案
import java.awt.*;
import java.awt.event.*;
import java.util.*;
class p1 extends Panel
{
Label l1;
Font f=new Font("宋体",Font.BOLD,20);
p1()
{
setLayout(new GridLayout(1,1));
l1=new Label("银行存取款系统",Label.CENTER);
l1.setFont(f);
add(l1);
}
}
class p2 extends Panel
{
Label l1,l2;
TextField t1,t2;
p2()
{
setLayout(new GridLayout(1,4));
l1=new Label("姓名",Label.CENTER);
l2=new Label("帐号",Label.CENTER);
t1=new TextField(10);
t2=new TextField(10);
add(l1);
add(t1);
add(l2);
add(t2);
}
}
class p3 extends Panel
{
Label l1,l2;
TextField t1,t2;
p3()
{
setLayout(new GridLayout(1,4));
l1=new Label("家庭住址",Label.CENTER);
l2=new Label("身份证号",Label.CENTER);
t1=new TextField(10);
t2=new TextField(10);
add(l1);
add(t1);
add(l2);
add(t2);
}
}
class p4 extends Panel
{
Label l1,l2;
TextField t1,t2;
p4()
{
setLayout(new GridLayout(1,4));
l1=new Label("密码",Label.CENTER);
l2=new Label("密码验证",Label.CENTER);
t1=new TextField(10);
t2=new TextField(10);
t1.setEchoChar(′*′);
t2.setEchoChar(′*′);
add(l1);
add(t1);
add(l2);
add(t2);
}
}
class p5 extends Panel
{
Label l1,l2;
TextField t1,t2;
p5()
{
setLayout(new GridLayout(1,4));
l1=new Label("当前存款数额",Label.CENTER);
l2=new Label("月利率",Label.CENTER);
t1=new TextField(10);
t2=new TextField(10);
add(l1);
add(t1);
add(l2);
add(t2);
}
}
class p6 extends Panel
{
Label l1,l2;
TextField t1,t2;
Button btn1;
p6()
{
setLayout(new GridLayout(1,5));
l1=new Label("取款数额",Label.CENTER);
l2=new Label("预交数额",Label.CENTER);
t1=new TextField(10);t1.setText("0.0");
t2=new TextField(10);t2.setText("0.0");
btn1=new Button("确认");
add(l1);
add(t1);
add(l2);
add(t2);
add(btn1);
}
}
class p7 extends Panel
{
Button btn1,btn2,btn3,btn4,btn5;
p7()
{
setLayout(new GridLayout(1,5));
btn1=new Button("查询");
btn2=new Button("添加");
btn3=new Button("删除");
btn4=new Button("清空");
btn5=new Button("退出系统");
add(btn1);
add(btn2);
add(btn3);
add(btn4);
add(btn5);
}
}
class p8 extends Panel
{
Label l1,l2,l3;
Label l4,l5,l6,l7,l9;
Panel p11,p22,p33,p44,p55;
TextField t1,t2;
Button btn;
p8()
{
p11=new Panel();
p22=new Panel();
p33=new Panel();
p44=new Panel();
p55=new Panel();
p11.setLayout(new GridLayout(1,1));
p22.setLayout(new GridLayout(1,1));
p33.setLayout(new GridLayout(1,4));
p44.setLayout(new GridLayout(1,4));
p55.setLayout(new GridLayout(1,1));
l4=new Label("");
l5=new Label("");
l6=new Label("");
l7=new Label("");
l9=new Label("");
l1=new Label("欢迎来到银行管理系统",Label.CENTER);
Font f=new Font("宋体",Font.BOLD,30);
l1.setFont(f);
l2=new Label("请输入管理员帐号",Label.CENTER);
l3=new Label("请输入管理员密码",Label.CENTER);
setBackground(Color.pink);
btn=new Button("确定");
t1=new TextField(20);
t2=new TextField(15);
t2.setEchoChar(′*′);
l1.setForeground(Color.red);
t1.setBackground(Color.cyan);
t2.setBackground(Color.cyan);
t1.setForeground(Color.red);
t2.setForeground(Color.red);
l2.setForeground(Color.blue);
l3.setForeground(Color.blue);
p11.add(l1);
p22.add(l4);
p33.add(l5);
p33.add(l2);
p33.add(t1);
p33.add(l6);
p44.add(l7);
p44.add(l3);
p44.add(t2);
p44.add(btn);
p55.add(l9);
setLayout(new GridLayout(5,1));
add(p11);
add(p22);
add(p33);
add(p44);
add(p55);
}
}
class p9 extends Panel
{
p1 pn1=new p1();
p2 pn2=new p2();
p3 pn3=new p3();
p4 pn4=new p4();
p5 pn5=new p5();
p6 pn6=new p6();
p7 pn7=new p7();
p9()
{
setLayout(new GridLayout(7,1));
add(pn1);
add(pn2);
add(pn3);
add(pn4);
add(pn5);
add(pn6);
add(pn7);
}
}
class user
{
String username;
String sd;
String home;
String id;
String code;
String rcode;
String yue;
String rate;
user(String x1,String x2,String x3,String x4,String x5,String x6,String x7,String x8)
{
username=x1;
sd=x2;
home=x3;
id=x4;
code=x5;
rcode=x6;
yue=x7;
rate=x8;
}
}
public class qqq
{
public static void main(String args[])
{
new nn();
}
}
class nn extends Frame implements ActionListener
{
Vector v=new Vector();
Button btn1;
Dialog d1;
p9 pn9;
p8 pn8;
CardLayout cc=new CardLayout();
nn()
{
super("银行帐号管理系统");
pn8=new p8();
pn9=new p9();
setLayout(cc);
add("one",pn8);
add("two",pn9);
btn1=new Button("确定");
pn9.pn1.l1.setBackground(Color.pink);
pn9.pn1.l1.setForeground(Color.blue);
pn9.pn2.l1.setBackground(Color.gray);
pn9.pn2.l1.setForeground(Color.orange);
pn9.pn2.l2.setBackground(Color.gray);
pn9.pn2.l2.setForeground(Color.orange);
pn9.pn3.l1.setBackground(Color.gray);
pn9.pn3.l1.setForeground(Color.orange);
pn9.pn3.l2.setBackground(Color.gray);
pn9.pn3.l2.setForeground(Color.orange);
pn9.pn2.t1.setForeground(Color.red);
pn9.pn2.t1.setBackground(Color.cyan);
pn9.pn2.t2.setForeground(Color.red);
pn9.pn2.t2.setBackground(Color.cyan);
pn9.pn3.t1.setForeground(Color.red);
pn9.pn3.t1.setBackground(Color.cyan);
pn9.pn3.t2.setForeground(Color.red);
pn9.pn3.t2.setBackground(Color.cyan);
pn9.pn4.l1.setBackground(Color.gray);
pn9.pn4.l1.setForeground(Color.orange);
pn9.pn4.l2.setBackground(Color.gray);
pn9.pn4.l2.setForeground(Color.orange);
pn9.pn5.l1.setBackground(Color.gray);
pn9.pn5.l1.setForeground(Color.orange);
pn9.pn5.l2.setBackground(Color.gray);
pn9.pn5.l2.setForeground(Color.orange);
pn9.pn4.t1.setForeground(Color.red);
pn9.pn4.t1.setBackground(Color.cyan);
pn9.pn4.t2.setForeground(Color.red);
pn9.pn4.t2.setBackground(Color.cyan);
pn9.pn5.t1.setForeground(Color.red);
pn9.pn5.t1.setBackground(Color.cyan);
pn9.pn5.t2.setForeground(Color.red);
pn9.pn5.t2.setBackground(Color.cyan);
pn9.pn6.t1.setForeground(Color.red);
pn9.pn6.t1.setBackground(Color.cyan);
pn9.pn6.t2.setForeground(Color.red);
pn9.pn6.t2.setBackground(Color.cyan);
pn9.pn6.l1.setBackground(Color.gray);
pn9.pn6.l1.setForeground(Color.orange);
pn9.pn6.l2.setBackground(Color.gray);
pn9.pn6.l2.setForeground(Color.orange);
pn9.pn7.btn4.addActionListener(this);
pn9.pn6.btn1.addActionListener(this);
pn9.pn7.btn3.addActionListener(this);
pn9.pn7.btn2.addActionListener(this);
pn9.pn7.btn1.addActionListener(this);
pn9.pn7.btn5.addActionListener(this);
pn8.btn.addActionListener(this);
btn1.addActionListener(this);
setSize(600,300);
show();
}
public void actionPerformed(ActionEvent e)
{
v.addElement(new user("何先生","5866681","中国","78656566556","128866","128866","1000","0.01"));
v.addElement(new user("马先生","5866682","中国","78656566551","128866","128866","1000","0.01"));
v.addElement(new user("杨先生","5866683","中国","78656566551","128866","128866","1000","0.01"));
v.addElement(new user("董先生","5866684","中国","786565665563","128866","128866","1000","0.01"));
v.addElement(new user("张先生","5866685","中国","78656566557","128866","128866","1000","0.01"));
if(e.getSource()==pn8.btn)
{
String ss="123";
if(ss.compareTo(pn8.t1.getText())==0&&ss.compareTo(pn8.t2.getText())==0)
cc.show(this,"two");
else
{
d1=new Dialog(this,"警告",true);
Panel p1=new Panel();
p1.add(new Label("您无权进本系统!"));
d1.add("Center",p1);
Panel p2=new Panel();
p2.add(btn1);
d1.add("South",p2);
d1.setSize(200,100);
d1.show();
}
}
if(e.getSource()==pn9.pn7.btn5)
{
dispose();
System.exit(0);
}
if(e.getSource()==btn1)
{
d1.dispose();
}
if(e.getSource()==pn9.pn6.btn1)
{
double s1=Double.valueOf(pn9.pn6.t1.getText()).doublue();
double s2=Double.valueOf(pn9.pn6.t2.getText()).doublue();
double s3=Double.valueOf(pn9.pn5.t1.getText()).doublue();
s3=s3-s1+s2;
pn9.pn5.t1.setText(""+s3);
for(int i=0;i<v.size();i++)
{
user s=(user)v.elementAt(i);
if(s.sd.compareTo(pn9.pn2.t2.getText())==0)
{
s.yue=""+s3;
v.setElementAt(s,i);
break;
}
}
}
if(e.getSource()==pn9.pn7.btn1)
{
int i;
for(i=0;i<v.size();i++)
{
user s=(user)v.elementAt(i);
if(s.sd.compareTo(pn9.pn2.t2.getText())==0||s.id.compareTo(pn9.pn3.t2.getText())==0)
{
pn9.pn2.t1.setText(s.username);
pn9.pn2.t2.setText(s.sd);
pn9.pn3.t1.setText(s.home);
pn9.pn3.t2.setText(s.id);
pn9.pn4.t1.setText(s.code);
pn9.pn4.t2.setText(s.rcode);
pn9.pn5.t1.setText(s.yue);
pn9.pn5.t2.setText(s.rate);
break;
}
}
if(i==v.size())
{
d1=new Dialog(this,"警告",true);
Panel p1=new Panel();
p1.add(new Label("用户不存在!请重新输入!"));
d1.add("Center",p1);
Panel p2=new Panel();
p2.add(btn1);
d1.add("South",p2);
d1.setSize(200,100);
d1.show();
}
}
if(e.getSource()==pn9.pn7.btn2)
{
String m1,m2,m3,m4,m5,m6,m7,m8;
m1=pn9.pn2.t1.getText();
m2=pn9.pn2.t2.getText();
m3=pn9.pn3.t1.getText();
m4=pn9.pn3.t2.getText();
m5=pn9.pn4.t1.getText();
m6=pn9.pn4.t2.getText();
m7=pn9.pn5.t1.getText();
m8=pn9.pn5.t1.getText();
v.addElement(new user(m1,m2,m3,m4,m5,m6,m7,m8));
d1=new Dialog(this,"恭喜",true);
Panel p1=new Panel();
p1.add(new Label("用户添加成功!"));
d1.add("Center",p1);
Panel p2=new Panel();
p2.add(btn1);
d1.add("South",p2);
d1.setSize(200,100);
d1.show();
}
if(e.getSource()==pn9.pn7.btn3)
{
int i;
for(i=0;i<v.size();i++)
{
user s=(user)v.elementAt(i);
if(s.sd.compareTo(pn9.pn2.t2.getText())==0)
v.removeElement(s);
d1=new Dialog(this,"恭喜",true);
Panel p1=new Panel();
p1.add(new Label("用户成功移除!"));
d1.add("Center",p1);
Panel p2=new Panel();
p2.add(btn1);
d1.add("South",p2);
d1.setSize(200,100);
d1.show();
break;
}
}
if(e.getSource()==pn9.pn7.btn4)
{
pn9.pn2.t1.setText("");
pn9.pn2.t2.setText("");
pn9.pn3.t1.setText("");
pn9.pn3.t2.setText("");
pn9.pn4.t1.setText("");
pn9.pn4.t2.setText("");
pn9.pn5.t1.setText("");
pn9.pn5.t2.setText("");
pn9.pn6.t1.setText("");
pn9.pn6.t2.setText("");
}
}
}
解决方案二:
java银行管理系统前三题