Fork me on GitHub

迷你MyBank

该迷你MyBank,存贮是用对象数组来存贮的,所以比较简单,容易理解,适合新手。。

 

一.创建chengyuan类,在其中声明所需的成员变量:

 1 public class chengyuan {
 2 
 3     //该类为定义成员变量
 4     public String account;
 5     public String name ;
 6     public String password;
 7     public String idCard;
 8     public int money;
 9     
10 }

二.创建fulei类,就是调用

1 public class zhulei {
2 public static void main(String[] args) {
3     fulei fu=new fulei();
4     fu.ShowMenu();
5     
6 }
7 }

三.创建zhulei类,在其中创建函数来实现具体的功能

  1 import java.awt.image.SampleModel;
  2 import java.util.Scanner;
  3 
  4 
  5 public class fulei {
  6     Scanner input=new Scanner(System.in);
  7 //    public void Init(){
  8 //    chen.account[0]="001";
  9 //    chen.name[0]="孙悟空";
 10 //    chen.password[0]=
 11     
 12     chengyuan users []=new chengyuan[10];//此处是声明对象数组
 13     
 14     public void Init(){    //此类是先对数组中插入一些值
 15             chengyuan u1=new chengyuan();
 16                 u1.account = "001";
 17                 u1.name = "sunwukong";
 18                 u1.password = "wukong";
 19                 u1.idCard = "123412341234123412";
 20                 u1.money = 10000;
 21                 users[0] = u1;
 22                 chengyuan u2 = new chengyuan();
 23                 u2.account = "002";
 24                 u2.name = "zhubajie";
 25                 u2.password = "bajie";
 26                 u2.idCard = "123412341234123413";
 27                 u2.money = 20000;
 28                 users[1] = u2;
 29                 chengyuan u3 = new chengyuan();
 30                 u3.account = "003";
 31                 u3.name = "shawujing";
 32                 u3.password = "wujing";
 33                 u3.idCard = "123412341234123414";
 34                 u3.money = 30000;
 35                 users[2] = u3;
 36     }
 37     
 38     public void ShowMenu() {
 39         // TODO Auto-generated method stub
 40         Init();        //初始化该对象数组
 41         while(true){
 42         System.out.println("======================================");
 43         System.out.println("===============MyBank=================");
 44         System.out.println("=功能菜单如下:========================");
 45         System.out.println("==1:开户 2:存款 3:取款 4:转账 5:查询余额==");
 46         System.out.println("====6:修改密码 7:显示所有信息 0:退出=====");
 47         System.out.println("================请选择================");
 48         
 49         
 50         if(input.hasNextInt()==true){        //判断系统输入是否为int类型
 51             int select=input.nextInt();
 52             switch (select) {
 53             case 1:
 54                 CreatUsers();
 55                 break;
 56             case 2:
 57                 SaveMoney();
 58                 break;
 59             case 3:
 60                 OutMoney();
 61                 break;
 62             case 4:
 63                 MoveMoney();
 64                 break;
 65             case 5:
 66                 FindMoney();
 67                 break;
 68             case 6:
 69                 UpdatePwd();
 70                 break;
 71             case 7:
 72                 ShowInfo();
 73                 break;
 74             case 0:
 75                 System.out.println("系统退出,谢谢使用");
 76                 return;
 77             default:
 78                 System.out.println("只能输入0-7的数字!!!");
 79                 break;
 80             }
 81         }else {
 82             System.out.println("输入内容中含非法字符,请重新尝试!");
 83             input.next();   //释放资源
 84         }
 85         
 86         System.out.println();          //换行
 87         System.out.println();
 88     }
 89 //-----------------
 90     }
 91     
 92     /**
 93      * 修改密码
 94      */
 95     private void UpdatePwd() {
 96         // TODO Auto-generated method stub
 97         System.out.println("请输入账号:");
 98         String zhang=input.next();
 99         System.out.println("请输入密码:");
100         String pwd=input.next();
101         chengyuan u=GetUser(zhang);
102         if (u==null) {
103             System.out.println("库中无该账户");
104             return;
105         }
106         if (!u.password.equals(pwd)) {
107             System.out.println("密码错误,请重新尝试");
108             return;
109         }
110         System.out.println("登录成功,可以修改密码!");
111         System.out.println();
112         for (int i = 1; i <= 3; i++) {        //三次循环
113         System.out.println("请输入新密码:");
114         String pwd_1=input.next();
115         System.out.println("请再次输入密码:");
116         String pwd_2=input.next();
117         if(PwdSame(pwd_1, pwd_2)){
118         u.password=pwd_1;
119         System.out.println("账号:"+zhang+";密码修改成功,新密码为"+u.password);
120         return;
121         }else {
122             if(i==2)
123             System.out.println("两次密码输入不正确,请重新输入!!你还要两次输入机会");
124             if(i==1)
125             System.out.println("两次密码输入不正确,请重新输入!!你还要一次输入机会");
126         }
127         }
128     }
129 
130     /**
131      * 查询余额
132      * 验证是否登录
133      */
134     private void FindMoney() {
135         // TODO Auto-generated method stub
136         System.out.println("请输入账号:");
137         String zhang=input.next();
138         System.out.println("请输入密码:");
139         String pwd=input.next();
140         chengyuan u=GetUser(zhang);
141         if (u==null) {
142             System.out.println("库中无该账户");
143             return;
144         }
145         if (!u.password.equals(pwd)) {
146             System.out.println("密码错误,请重新尝试");
147             return;
148         }    
149         System.out.println("具体信息如下");
150         System.out.println("账号:"+u.account+"\t用户名:"+u.name+"\t密码:"+u.password+"\t身份证号是:"+u.idCard+"\t账户余额:"+u.money);
151     }
152 
153     /**
154      * 转账;;;
155      * 判断两次账号是否存在!!!
156      */
157     
158     private void MoveMoney() {
159         // TODO Auto-generated method stub
160         System.out.println("请输入账号:");
161         String zhang=input.next();
162         System.out.println("请输入密码:");
163         String pwd=input.next();
164         chengyuan u=GetUser(zhang);
165         if (u==null) {
166             System.out.println("库中无该账户");
167             return;
168         }
169         if (!u.password.equals(pwd)) {
170             System.out.println("密码错误,请重新尝试");
171             return;
172         }
173         System.out.println("账户登录成功!");
174         System.out.println();                //换行
175         System.out.println("请输入要转入的账号");
176         String zhang_move=input.next();
177         chengyuan u_move=GetUser(zhang_move);
178         if (u_move==null) {
179             System.out.println("该账户不存在!!请确认后重新尝试!!!");
180         }
181         System.out.print("请输入转账的金额:");
182         int money=input.nextInt();
183         if (u.money<money) {
184             System.out.println("该账户余额不足!无法进行转账!!");
185             return;
186         }
187         u.money-=money;
188         u_move.money+=money;
189         System.out.println(zhang+"转账成功!!当前余额为"+u.money);
190     }
191 
192     /**
193      * 取款
194      * 接收输入值
195      * 注意点:字符串的比较
196      */
197     private void OutMoney() {
198         // TODO Auto-generated method stub
199         System.out.println("请输入账号:");
200         String zhang=input.next();
201         System.out.println("请输入密码:");
202         String pwd=input.next();
203         chengyuan u=GetUser(zhang);
204         if (u==null) {
205             System.out.println("库中无该账户");
206             return;
207         }
208         if (!u.password.equals(pwd)) {
209             System.out.println("密码错误,请重新尝试");
210             return;
211         }
212         System.out.print("请输入取款金额:");
213         int money=input.nextInt();
214         if (u.money<money) {
215             System.out.println("账户的余额不足!!!");
216             return;
217         }
218         u.money-=money;
219         System.out.println(zhang+"账号取款成功,当前余额为:"+u.money);
220         
221     }
222 
223     /**
224      * 存款
225      * 验证
226      * 对值进行修改
227      */
228     private void SaveMoney() {
229         //chengyuan u=new chengyuan();
230         // TODO Auto-generated method stub
231         System.out.println("请输入账号:");
232         String zhang=input.next();
233         System.out.println("请输入密码:");
234         String pwd=input.next();
235         chengyuan u=GetUser(zhang);
236         if (u==null) {
237             System.out.println("库中无该账户");
238             return;
239         }
240         if (!u.password.equals(pwd)) {
241             System.out.println("密码错误,请重新尝试");
242             return;
243         }
244         System.out.print("请输入存款金额:");
245         int money=input.nextInt();
246         u.money+=money;
247         System.out.println(zhang+"账号存款成功,当前余额为:"+u.money);
248         
249     }
250     
251     
252     //写一个返回用户对象的函数                  
253     private chengyuan GetUser(String zhang) {
254         // TODO Auto-generated method stub
255         chengyuan u=new chengyuan();
256 //        for (int i = 0; i < users.length; i++) {
257 //            if (users[i].account.equals(zhang)) {
258 //                u=users[i];
259 //                
260 //            }else if(i==users.length-1){
261 //                
262 //                break;
263 //            }
264 //            
265 //        }
266         u=null;
267         for (chengyuan sui : users) {
268             if (sui !=null) {
269                 if (sui.account.equals(zhang)) {
270                     u=sui;
271                     break;
272                 }
273             }
274         }
275         return u;
276     }
277 
278 
279     
280     
281     
282     
283 
284     /**
285      * 显示所有信息
286      * 循环
287      */
288 private void ShowInfo() {
289         // TODO Auto-generated method stub
290         for (int i = 0; i < this.users.length; i++) {
291             if(users[i]!=null){
292             System.out.println("账号:"+users[i].account+"\t用户名:"+users[i].name+"\t密码:"+users[i].password+"\t身份证号是:"+users[i].idCard+"\t账户余额:"+users[i].money);
293         }else {
294             break;
295         }
296     }
297 }
298 //----------------
299 
300     /**
301      * 增加用户
302      * 接收输入语句
303      * 先在对象数组中找到空
304      * 在空中赋值
305      */
306     private void CreatUsers() {
307         // TODO Auto-generated method stub
308         chengyuan u=new chengyuan();
309         System.out.print("请输入姓名:");
310         String name1=input.next();
311         System.out.print("请输入密码:");
312         String pwd_1=input.next();
313         System.out.print("请再次输入密码:");
314         String pwd_2=input.next();
315         System.out.print("请输入身份证号:");
316         String cardno=input.next();
317         System.out.print("请输入开户金额:");
318         int qian=input.nextInt();
319         String acc="1010"+(int)(Math.random()*10000);
320         if(PwdSame(pwd_1,pwd_2)){
321         System.out.println("\n开户成功,开户信息如下:");
322         System.out.println("账号:"+acc+"\t用户名:"+name1+"\t密码:"+pwd_1+"\t身份证号是:"+cardno+"\t账户余额:"+qian);
323         for (int i = 0; i < users.length; i++) {        //找到空位,赋值
324             if(users[i]==null){                        
325                 u.account=acc;
326                 u.name=name1;
327                 u.idCard=cardno;
328                 u.money=qian;
329                 u.password=pwd_1;
330                 users[i]=u;
331                 return;
332             }
333         }
334         }else {
335             System.out.println("两次密码输入不一致,请重新尝试!");
336             return;
337         }
338     }
339     
340     /**
341      * 判断两次密码是否一致的类,返回布尔型
342      */
343     public boolean PwdSame(String pwd_1,String pwd_2 ){
344         return pwd_1.equals(pwd_2);
345     }
346 }

 

仅供参考,无需同意,随意转载。

posted @ 2016-12-30 21:43  ChangeSub  阅读(280)  评论(0编辑  收藏  举报