首页 > 编程语言 > 详细

[20-05-10][Self-test 41]Java BankSystem 2

时间:2020-05-10 12:56:19      阅读:56      评论:0      收藏:0      [点我收藏+]
  1 package test_9_1;
  2 
  3 import javax.swing.JOptionPane;
  4 
  5 /**
  6  * 管理员类
  7  */
  8 public class Admin {
  9 
 10     /** 用户名 */
 11     private String userName;
 12     /** 密码 */
 13     private String password;
 14     /** 权限 */
 15     private String permission = "管理员";
 16     
 17     /**
 18      * 无参构造方法 
 19      */
 20     public Admin() {
 21         
 22     }
 23     
 24     /**
 25      * 带构造方法 
 26      *
 27      * @param userName 用户名
 28      * @param password 密码
 29      * @param permission 权限
 30      */
 31     public Admin(String userName, String password) {
 32         this.userName = userName;
 33         this.password = password;
 34     }
 35 
 36     /**
 37      * 获取用户名
 38      *
 39      * @return userName 用户名
 40      */
 41     public String getUserName() {
 42         return userName;
 43     }
 44 
 45     /**
 46      * 设置用户名
 47      *
 48      * @param userName  用户名
 49      */
 50     public void setUserName(String userName) {
 51         this.userName = userName;
 52     }
 53 
 54     /**
 55      * 获取密码
 56      *
 57      * @return password 密码
 58      */
 59     public String getPassword() {
 60         return password;
 61     }
 62 
 63     /**
 64      * 设置密码
 65      *
 66      * @param password  密码
 67      */
 68     public void setPassword(String password) {
 69         this.password = password;
 70     }
 71 
 72     /**
 73      * 获取权限
 74      *
 75      * @return permission 权限
 76      */
 77     public String getPermission() {
 78         return permission;
 79     }
 80 
 81     /**
 82      * 修改密码
 83      */
 84     public void changPwd() {
 85         
 86         String oldPwd = JOptionPane.showInputDialog(null, "请输入旧密码");
 87         
 88         if (oldPwd.equals(getPassword()) == false) {
 89             JOptionPane.showMessageDialog(null, "旧密码错误");
 90             return;
 91         }
 92         
 93         String newPwd = JOptionPane.showInputDialog(null, "请输入新密码");
 94         String newPwdRe = JOptionPane.showInputDialog(null, "请确认新密码");
 95         
 96         if (newPwd.equals(newPwdRe) == false) {
 97             JOptionPane.showMessageDialog(null, "两次密码输入不一致");
 98             return;
 99         }
100         
101         setPassword(newPwd);
102         JOptionPane.showMessageDialog(null, "密码修改成功");
103     }
104 }

 

 

 1 package test_9_1;
 2 
 3 /**
 4  * 职工类
 5  */
 6 public class Staff extends Admin{
 7 
 8     /** 权限 */
 9     private String permission = "职员";
10 
11     /**
12      * 无参构造方法
13      */
14     public Staff() {
15         
16     }
17     
18     /**
19      * 带参构造方法 
20      *
21      * @param permission 权限
22      */
23     public Staff(String userName, String password) {
24         super(userName, password);
25     }
26     
27     /* 
28      * 重写获取权限方法
29      */
30     @Override
31     public String getPermission() {
32         return permission;
33     }
34     
35 }

 

 

  1 package test_9_1;
  2 
  3 import java.util.Date;
  4 
  5 /**
  6  * 用户类
  7  */
  8 public class User extends Admin {
  9 
 10     /** 姓名 */
 11     private String name;
 12     /** 地址 */
 13     private String address;
 14     /** 余额 */
 15     private double remain;
 16     /** 开户日期 */
 17     private String date;
 18     /** 权限 */
 19     private String permission = "用户";
 20     /** 交易记录 */
 21     private Record[] records = new Record[100];
 22     /** 交易记录条数 */
 23     private int recordsNum;
 24 
 25     /**
 26      * 无参构造方法
 27      */
 28     public User() {
 29         
 30     }
 31 
 32     /**
 33      * 带参构造方法
 34      * 
 35      * @param userName 账号
 36      * @param password 密码
 37      * @param name 姓名
 38      * @param address 地址
 39      * @param remain 余额
 40      * @param date 开户日期
 41      */
 42     public User(String userName, String password, String name, String address, double remain) {
 43         
 44         super(userName, password);
 45         this.name = name;
 46         this.address = address;
 47         this.remain = remain;
 48         this.date = getCurrentDate();
 49 
 50     }
 51     
 52     /* 
 53      * 重写获取权限方法
 54      */
 55     @Override
 56     public String getPermission() {
 57         return permission;
 58     }
 59     
 60     /**
 61      * 获取当前日期
 62      * 
 63      * @return 当前日期
 64      */
 65     private String getCurrentDate() {
 66         
 67         String str = "";
 68         
 69         Date date = new Date();
 70         str += (date.getYear() + 1900) + "-" + (date.getMonth() + 1) + "-" + date.getDay();
 71         
 72         return str;
 73     }
 74     
 75     /**
 76      * 获取姓名
 77      * 
 78      * @return 姓名
 79      */
 80     public String getName() {
 81         
 82         return name;
 83     }
 84     
 85     /**
 86      * 获取地址
 87      * 
 88      * @return 地址
 89      */
 90     public String getAddress() {
 91         
 92         return address;
 93     }
 94     
 95     /**
 96      * 获取余额
 97      * 
 98      * @return 余额
 99      */
100     public double getRemain() {
101         
102         return remain;
103     }
104     
105     /**
106      * 存款
107      * 
108      * @param money 金额
109      */
110     public void save(double money) {
111         
112         remain += money;
113     }
114     
115     /**
116      * 取款
117      * 
118      * @param money 金额
119      */
120     public void draw(double money) {
121         
122         remain -= money;
123     }
124     
125     /**
126      * 添加交易记录
127      */
128     public void addRecord(String info) {
129         
130         records[recordsNum] = new Record(info);
131         recordsNum++;
132     }
133     
134     /**
135      * 获取交易记录
136      */
137     public String getRecordList() {
138         
139         String str = "交易记录    交易日期\n";
140         for (int i = 0; i < recordsNum; i++) {
141             str += records[i].getInfo() + "    " + records[i].getDate() + "\n";
142         }
143         
144         return str;
145     }
146     
147     /**
148      * 获取开户日期
149      * 
150      * @return 开户日期
151      */
152     public String getDate() {
153         
154         return date;
155     }
156 }

 

 

 1 package test_9_1;
 2 
 3 import java.util.Date;
 4 
 5 /**
 6  * 交易记录类
 7  */
 8 public class Record {
 9 
10     /** 交易记录 */
11     private String info;
12     /** 交易日期 */
13     private String date;
14 
15     /**
16      * 无参构造方法 
17      */
18     public Record() {
19 
20     }
21 
22     /**
23      * 带参构造方法 
24      *
25      * @param info 交易记录
26      * @param date 交易日期
27      */
28     public Record(String info) {
29 
30         this.info = info;
31         this.date = getCurrentDate();
32     }
33 
34     /**
35      * 获取交易记录
36      *
37      * @return info 交易记录
38      */
39     public String getInfo() {
40         return info;
41     }
42 
43     /**
44      * 获取交易日期
45      *
46      * @return date 交易日期
47      */
48     public String getDate() {
49         return date;
50     }
51 
52     /**
53      * 获取当前日期
54      * 
55      * @return 当前日期
56      */
57     private String getCurrentDate() {
58 
59         String str = "";
60 
61         Date date = new Date();
62         str += (date.getYear() + 1900) + "-" + (date.getMonth() + 1) + "-" + date.getDay();
63 
64         return str;
65     }
66 
67 }

 

 

  1 package test_9_1;
  2 
  3 import javax.swing.JOptionPane;
  4 
  5 /**
  6  * 管理员方法类
  7  */
  8 public class AdminService {
  9     
 10     /** 管理员 */
 11     private static Admin admin = new Admin();
 12     /** 职员数组 */
 13     private static Staff[] staffs = new Staff[30];
 14     /** 职员数 */
 15     private static int staffNum;
 16     
 17     /**
 18      * 获取管理员
 19      *
 20      * @return admin 管理员
 21      */
 22     public Admin getAdmin() {
 23         return admin;
 24     }
 25     
 26     /**
 27      * 获取职员数组
 28      *
 29      * @return staffs 职员数组
 30      */
 31     public Staff[] getStaffs() {
 32         return staffs;
 33     }
 34 
 35     /**
 36      * 获取职员数
 37      *
 38      * @return staffNum 职员数
 39      */
 40     public int getStaffNum() {
 41         return staffNum;
 42     }
 43     
 44     /**
 45      * 初始化管理员
 46      * 
 47      * @param userName 用户名
 48      * @param password 密码
 49      */
 50     public void init(String userName, String password) {
 51         admin.setUserName(userName);
 52         admin.setPassword(password);
 53     }
 54     
 55     /**
 56      * 初始化职员数组
 57      * 
 58      * @param index 下标
 59      * @param userName 用户名
 60      * @param password 密码
 61      */
 62     public void init(int index, String userName, String password) {
 63         
 64         staffs[index] = new Staff(userName, password);
 65         staffNum++;
 66     }
 67 
 68     /**
 69      * 管理员操作界面
 70      */
 71     public void adminMainMenu() {
 72         
 73         while (true) {
 74             String item = JOptionPane.showInputDialog(null, ""
 75                     + "1、添加职工\n"
 76                     + "2、删除职工\n"
 77                     + "3、显示职工列表\n"
 78                     + "4、修改密码\n"
 79                     + "5、退出");
 80             switch (item) {
 81             case "1":
 82                 addStaff();
 83                 break;
 84             case "2":
 85                 delStaff();
 86                 break;
 87             case "3":
 88                 showStaffList();
 89                 break;
 90             case "4":
 91                 changePwd();
 92                 break;
 93             case "5":
 94                 JOptionPane.showMessageDialog(null, "已注销登陆");
 95                 return;
 96             default:
 97                 JOptionPane.showMessageDialog(null, "请输入1-5");
 98             }
 99         }
100         
101     }
102     
103     /**
104      * 添加职员
105      */
106     public void addStaff() {
107         
108         String userName = JOptionPane.showInputDialog(null, "请输入用户名");
109         
110         if (checkUserName(userName) == true) {
111             JOptionPane.showMessageDialog(null, "该用户名已存在");
112             return;
113         }
114         
115         String password = "123";
116         
117         staffs[staffNum] = new Staff(userName, password);
118         staffNum++;
119     }
120 
121     /**
122      * 检查用户名重复
123      * 
124      * @param userName 用户名
125      * @return 是否重复
126      */
127     private boolean checkUserName(String userName) {
128 
129         for (int i = 0; i < staffNum; i++) {
130             if (userName.equals(staffs[i].getUserName())) {
131                 return true;
132             }
133         }
134         return false;
135     }
136     
137     /**
138      * 删除职工
139      */
140     public void delStaff() {
141         
142         int index = findIndex();
143         
144         if (index != -1) {
145             
146             for (int i = index; i < staffNum; i++) {
147                 staffs[i] = staffs[i + 1];
148             }
149             staffNum--;
150             JOptionPane.showMessageDialog(null, "已删除该职工");
151         }
152         
153     }
154     
155     /**
156      * 显示职工列表
157      */
158     public void showStaffList() {
159         
160         String str = "用户名     权限\n";
161         
162         for (int i = 0; i < staffNum; i++) {
163             str += staffs[i].getUserName() + "    " + staffs[i].getPermission() + "\n";
164         }
165         
166         JOptionPane.showMessageDialog(null, str);
167     }
168     
169     /**
170      * 修改密码
171      */
172     public void changePwd() {
173         
174         admin.changPwd();
175     }
176     
177     /**
178      * 寻找用户名符合的下标
179      * 
180      * @return 下标
181      */
182     private int findIndex() {
183         
184         String userName = JOptionPane.showInputDialog(null, "请输入用户名");
185         for (int i = 0; i < staffNum; i++) {
186             if (userName.equals(staffs[i].getUserName())) {
187                 return i;
188             }
189         }
190         
191         JOptionPane.showMessageDialog(null, "查无此人");
192         return -1;
193     }
194     
195 }

 

 

  1 package test_9_1;
  2 
  3 import javax.swing.JOptionPane;
  4 
  5 /**
  6  * 职工方法类
  7  */
  8 public class StaffService extends UserService {
  9     
 10     /** 当前登陆用户 */
 11     private Staff loginStaff;
 12     
 13     /**
 14      * 设置当前登陆用户
 15      *
 16      * @param loginStaff  当前登陆用户
 17      */
 18     public void setLoginStaff(Staff loginStaff) {
 19         this.loginStaff = loginStaff;
 20     }
 21 
 22     /**
 23      * 重写用户操作界面
 24      */
 25     @Override
 26     public void userMainMenu() {
 27         
 28         while (true) {
 29             String item = JOptionPane.showInputDialog(null, ""
 30                     + "1、存钱\n"
 31                     + "2、取钱\n"
 32                     + "3、转账\n"
 33                     + "4、查询账户信息\n"
 34                     + "5、查询交易记录\n"
 35                     + "6、修改密码\n"
 36                     + "7、开户\n"
 37                     + "8、销户\n"
 38                     + "9、显示用户列表\n"
 39                     + "10、退出");
 40             switch (item) {
 41             case "1":
 42                 if (userLogin() == true) {
 43                     saveMoney();
 44                 }
 45                 break;
 46             case "2":
 47                 if (userLogin() == true) {
 48                     drawMoney();
 49                 }
 50                 break;
 51             case "3":
 52                 if (userLogin() == true) {
 53                     transfer();
 54                 }
 55                 break;
 56             case "4":
 57                 if (userLogin() == true) {
 58                     showInfo();
 59                 }
 60                 break;
 61             case "5":
 62                 if (userLogin() == true) {
 63                     getRecords();
 64                 }
 65                 break;
 66             case "6":
 67                 changePwd();
 68                 break;
 69             case "7":
 70                 addUser();
 71                 break;
 72             case "8":
 73                 delUser();
 74                 break;
 75             case "9":
 76                 showUserList();
 77                 break;
 78             case "10":
 79                 JOptionPane.showMessageDialog(null, "已退出");
 80                 return;
 81             default:
 82                 JOptionPane.showMessageDialog(null, "请输入1-10");
 83             }
 84         }
 85         
 86     }
 87     
 88     /**
 89      * 重写修改密码
 90      */
 91     @Override
 92     protected void changePwd() {
 93         
 94         loginStaff.changPwd();
 95     }
 96     
 97     /**
 98      * 开户
 99      */
100     private void addUser() {
101         
102         String userName = JOptionPane.showInputDialog(null, "请输入用户名");
103         
104         if (checkUserName(userName) == true) {
105             JOptionPane.showMessageDialog(null, "该卡用户名已存在");
106             return;
107         }
108         
109         String password = "123";
110         String name = JOptionPane.showInputDialog(null, "请输入姓名");
111         String address = JOptionPane.showInputDialog(null, "请输入地址");
112         double remain = 0.0;
113         
114         getUsers()[getUserNum()] = new User(userName, password, name, address, remain);
115         addUserNum();
116     }
117     
118     /**
119      * 销户
120      */
121     private void delUser() {
122         
123         String userName = JOptionPane.showInputDialog(null, "请输入要删除的卡号");
124         String name = JOptionPane.showInputDialog(null, "请输入要删除的卡号姓名");
125         
126         int index = findIndx(userName, name);
127         
128         if (index != -1) {
129             int item = JOptionPane.showConfirmDialog(null, "确认注销" + getUsers()[index].getUserName() + "吗?\n此操作不可逆!");
130             
131             if (item == 0) {
132                 for (int i = index; i < getUserNum(); i++) {
133                     getUsers()[i] = getUsers()[i + 1];
134                 }
135                 delUserNum();
136                 JOptionPane.showMessageDialog(null, "卡已注销");
137             }
138         }
139 
140     }
141     
142     /**
143      * 显示用户列表
144      */
145     private void showUserList() {
146 
147         String str = "用户名     姓名    地址    余额    开户日期\n";
148         
149         for (int i = 0; i < getUserNum(); i++) {
150             str += getUsers()[i].getUserName() + "    " +
151                    getUsers()[i].getName() + "    " +
152                    getUsers()[i].getAddress() + "    " +
153                    getUsers()[i].getRemain() + "    " +
154                    getUsers()[i].getDate() + "\n";
155         }
156         
157         JOptionPane.showMessageDialog(null, str);
158     }
159     
160     /**
161      * 检查用户名重复
162      * 
163      * @param userName 用户名
164      * @return 是否重复
165      */
166     private boolean checkUserName(String userName) {
167         
168         for (int i = 0; i < getUserNum(); i++) {
169             if (userName.equals(getUsers()[i].getUserName())) {
170                 return true;
171             }
172         }
173         
174         return false;
175     }
176     
177     /**
178      * 用户登陆
179      */
180     private boolean userLogin() {
181         
182         String userName = JOptionPane.showInputDialog(null, "请输入用户名");
183         String password = JOptionPane.showInputDialog(null, "请输入密码");
184         
185         for (int i = 0; i < getUserNum(); i++) {
186             if (userName.equals(getUsers()[i].getUserName()) && password.equals(getUsers()[i].getPassword())) {
187                 setLoginUser(getUsers()[i]);
188                 return true;
189             }
190         }
191         
192         JOptionPane.showMessageDialog(null, "用户名或密码错误");
193         return false;
194     }
195 
196 }

 

 

  1 package test_9_1;
  2 
  3 import javax.swing.JOptionPane;
  4 
  5 /**
  6  * 用户方法类
  7  */
  8 public class UserService {
  9     
 10     /** 用户数组 */
 11     private static User[] users = new User[100];
 12     /** 用户数 */
 13     private static int userNum;
 14     /** 当前登录用户 */
 15     private User loginUser;
 16     
 17     /**
 18      * 获取用户数组
 19      *
 20      * @return users 用户数组
 21      */
 22     public User[] getUsers() {
 23         return users;
 24     }
 25     
 26     /**
 27      * 获取用户数
 28      *
 29      * @return userNum 用户数
 30      */
 31     public int getUserNum() {
 32         return userNum;
 33     }
 34     
 35     /**
 36      * 添加用户
 37      */
 38     public void addUserNum() {
 39         userNum++;
 40     }
 41     
 42     /**
 43      * 减少用户
 44      */
 45     public void delUserNum() {
 46         userNum--;
 47     }
 48 
 49     /**
 50      * 设置当前登录用户
 51      *
 52      * @param loginUser  当前登录用户
 53      */
 54     public void setLoginUser(User loginUser) {
 55         this.loginUser = loginUser;
 56     }
 57     
 58     /**
 59      * 初始化用户
 60      * 
 61      * @param index 下标
 62      * @param userName 用户名
 63      * @param password 密码
 64      * @param name 姓名
 65      * @param address 地址
 66      */
 67     public void init(int index, String userName, String password, String name, String address, double remain) {
 68         
 69         users[index] = new User(userName, password, name, address, remain);
 70         userNum++;
 71     }
 72 
 73     /**
 74      * 用户操作界面
 75      */
 76     public void userMainMenu() {
 77         
 78         while (true) {
 79             String item = JOptionPane.showInputDialog(null, ""
 80                     + "1、存钱\n"
 81                     + "2、取钱\n"
 82                     + "3、转账\n"
 83                     + "4、查询账户信息\n"
 84                     + "5、查询交易记录\n"
 85                     + "6、修改密码\n"
 86                     + "7、退出");
 87             switch (item) {
 88             case "1":
 89                 saveMoney();
 90                 break;
 91             case "2":
 92                 drawMoney();
 93                 break;
 94             case "3":
 95                 transfer();
 96                 break;
 97             case "4":
 98                 showInfo();
 99                 break;
100             case "5":
101                 getRecords();
102                 break;
103             case "6":
104                 changePwd();
105                 break;
106             case "7":
107                 JOptionPane.showMessageDialog(null, "已退出");
108                 return;
109             default:
110                 JOptionPane.showMessageDialog(null, "请输入1-7");
111             }
112         }
113         
114     }
115     
116     /**
117      * 存钱
118      */
119     protected void saveMoney() {
120         
121         double money = Double.parseDouble(JOptionPane.showInputDialog(null, "请输入存款金额"));
122         loginUser.save(money);
123         
124         loginUser.addRecord("存款" + money + "元");
125         
126         JOptionPane.showMessageDialog(null, "取款成功");
127         
128     }
129     
130     /**
131      * 取钱
132      */
133     protected void drawMoney() {
134         
135         double money = Double.parseDouble(JOptionPane.showInputDialog(null, "请输入取款金额"));
136         
137         if (money > loginUser.getRemain()) {
138             JOptionPane.showMessageDialog(null, "余额不足");
139         } else {
140             loginUser.draw(money);
141             
142             loginUser.addRecord("取款" + money + "元");
143             
144             JOptionPane.showMessageDialog(null, "取款成功");
145         }
146 
147     }
148     
149     /**
150      * 转账
151      */
152     protected void transfer() {
153         
154         String payee = JOptionPane.showInputDialog(null, "请输入收款人卡号");
155         String name = JOptionPane.showInputDialog(null, "请输入收款人姓名");
156         
157         int payeeIndex = findIndx(payee, name);
158         
159         if (payeeIndex != -1) {
160             double money = Double.parseDouble(JOptionPane.showInputDialog(null, "请输入转账金额"));
161             
162             if (money > loginUser.getRemain()) {
163                 JOptionPane.showMessageDialog(null, "余额不足");
164             } else {
165                 loginUser.draw(money);
166                 users[payeeIndex].save(money);
167                 
168                 loginUser.addRecord("向" + users[payeeIndex].getUserName() + "转账" + money + "元");
169                 users[payeeIndex].addRecord("从" + loginUser.getUserName() + "收款" + money + "元");
170                 
171                 JOptionPane.showMessageDialog(null, "转账成功");
172             }
173         }
174     }
175     
176     /**
177      * 查询账户信息
178      */
179     protected void showInfo() {
180         
181         String str = 
182                 "卡号:" + loginUser.getUserName() +
183                 "\n姓名:" + loginUser.getName() +
184                 "\n地址:" + loginUser.getAddress() +
185                 "\n余额:" + loginUser.getRemain() +
186                 "\n开户日期:" + loginUser.getDate();
187         
188         JOptionPane.showMessageDialog(null, str);
189         
190     }
191     
192     /**
193      * 查询交易记录
194      */
195     protected void getRecords() {
196 
197         JOptionPane.showMessageDialog(null, loginUser.getRecordList());
198         
199     }
200     
201     /**
202      * 修改密码
203      */
204     protected void changePwd() {
205         
206         loginUser.changPwd();
207     }
208 
209     /**
210      * 获取用户下标
211      * 
212      * @param userName 账号
213      * @param name 姓名
214      * @return 用户下标
215      */
216     protected int findIndx(String userName, String name) {
217         
218         for (int i = 0; i < userNum; i++) {
219             if (userName.equals(users[i].getUserName()) && name.equals(users[i].getName())) {
220                 return i;
221             }
222         }
223         
224         JOptionPane.showMessageDialog(null, "卡号或姓名错误");
225         return -1;
226     }
227 
228 }

 

 

  1 package test_9_1;
  2 
  3 import javax.swing.JOptionPane;
  4 
  5 /**
  6  * 主控制台类
  7  */
  8 public class MainConsole {
  9 
 10     /** 实例化管理员方法 */
 11     private AdminService as = new AdminService();
 12     /** 实例化职员方法 */
 13     private StaffService ss = new StaffService();
 14     /** 实例化用户方法 */
 15     private UserService us = new UserService();
 16     
 17     /**
 18      * 获取实例化管理员方法
 19      *
 20      * @return as 实例化管理员方法
 21      */
 22     public AdminService getAs() {
 23         return as;
 24     }
 25 
 26     /**
 27      * 获取实例化职员方法
 28      *
 29      * @return ss 实例化职员方法
 30      */
 31     public StaffService getSs() {
 32         return ss;
 33     }
 34 
 35     /**
 36      * 获取实例化用户方法
 37      *
 38      * @return us 实例化用户方法
 39      */
 40     public UserService getUs() {
 41         return us;
 42     }
 43 
 44     /**
 45      * 欢迎界面
 46      */
 47     public void welcome() {
 48         
 49         while (true) {
 50             String item = JOptionPane.showInputDialog(null, ""
 51                     + "欢迎使用银行管理系统\n\n"
 52                     + "1、登陆系统\n"
 53                     + "2、退出系统");
 54             switch (item) {
 55             case "1":
 56                 login();
 57                 break;
 58             case "2":
 59                 JOptionPane.showMessageDialog(null, "已退出");
 60                 System.exit(0);
 61             default:
 62                 JOptionPane.showMessageDialog(null, "请输入1-2");
 63             }
 64         }
 65         
 66     }
 67     
 68     /**
 69      * 登陆
 70      */
 71     private void login() {
 72         
 73         for (int i = 0; i < 3; i++) {
 74             String userName = JOptionPane.showInputDialog(null, "请输入用户名");
 75             String password = JOptionPane.showInputDialog(null, "请输入密码");
 76             
 77             if (checkLogin(userName, password) == true) {
 78                 return;
 79             } else {
 80                 JOptionPane.showMessageDialog(null, "用户名或密码有误,请重新输入");
 81             }
 82         }
 83         
 84         JOptionPane.showMessageDialog(null, "非法用户");
 85         System.exit(0);
 86         
 87     }
 88 
 89     /**
 90      * 验证登陆
 91      * 
 92      * @param userName 用户名
 93      * @param password 密码
 94      * @return 登陆用户类型
 95      */
 96     private boolean checkLogin(String userName, String password) {
 97         
 98         if (userName.equals(as.getAdmin().getUserName()) && 
 99                     password.equals(as.getAdmin().getPassword()) &&
100                     "管理员".equals(as.getAdmin().getPermission())) {
101             as.adminMainMenu();
102             return true;
103         }
104         
105         for (int i = 0; i < as.getStaffNum(); i++) {
106             if (userName.equals(as.getStaffs()[i].getUserName()) && 
107                     password.equals(as.getStaffs()[i].getPassword()) &&
108                     "职员".equals(as.getStaffs()[i].getPermission())) {
109                 ss.setLoginStaff(as.getStaffs()[i]);
110                 ss.userMainMenu();
111                 return true;
112             }
113         }
114 
115         for (int i = 0; i < us.getUserNum(); i++) {
116             if (userName.equals(us.getUsers()[i].getUserName()) && 
117                     password.equals(us.getUsers()[i].getPassword()) &&
118                     "用户".equals(us.getUsers()[i].getPermission())) {
119                 us.setLoginUser(us.getUsers()[i]);
120                 us.userMainMenu();
121                 return true;
122             }
123         }
124         
125         return false;
126     }
127 }

 

 

 1 package test_9_1;
 2 
 3 /**
 4  * <p>Description:银行管理系统</p>
 5  * <P>Date:2020/05/09 16:20</p>
 6  * <P>JDK:1.8.1_171<P>
 7  * <P>JRE:1.8.1_171<P>
 8  * <P>IDE:Eclipse version 4.7.3a<P>
 9  *
10  * @version v1.0.0
11  * @author MirAi
12  */
13 public class BankSystem {
14 
15     public static void main(String[] args) {
16 
17         MainConsole mainConsole = new MainConsole();
18         
19         mainConsole.getAs().init("joker", "111");
20         
21         mainConsole.getAs().init(0, "Navi", "111");
22         mainConsole.getAs().init(1, "Queen", "222");
23         mainConsole.getAs().init(2, "Skull", "333");
24         
25         mainConsole.getUs().init(0, "001", "111", "Panther", "Shibuya", 2000);
26         mainConsole.getUs().init(1, "002", "222", "Mona", "Mementos", 3000);
27         mainConsole.getUs().init(2, "003", "333", "Noir", "Aoyama", 1000);
28         mainConsole.getUs().init(3, "004", "444", "Violet", "Kichijoji", 500);
29 
30         mainConsole.welcome();
31     }
32 
33 }

 

[20-05-10][Self-test 41]Java BankSystem 2

原文:https://www.cnblogs.com/mirai3usi9/p/12862575.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!