一个用java模拟ATM操作的小程序

来源:互联网 发布:郑州seo服务公司 编辑:程序博客网 时间:2024/05/16 06:22

import java.util.*; //主类 public class MyBank { public static void main(String[] args) { //实例化登陆类并显示登陆界面 Login lg=new Login(); lg.show(); } } //登陆类 class Login { //获取登录账户ID及密码 public void show() { System.out.println("请输入账户ID:"+" "+"[0退出]"); Scanner zhid =new Scanner(System.in); String str1=zhid.nextLine(); if(str1.equals("0")) { System.out.println("谢谢使用,再见!"); System.exit(0); } else { System.out.println("请输入账户密码:"); Scanner mm =new Scanner(System.in); String str2=mm.nextLine(); //实例化用户信息类并验证登陆账号及密码 Info info=new Info(); info.check(str1,str2); } } } //用户父类 class User { //存款方法(当前账号的下标,存款金额,账户信息数组) public void cunKuan(int c,double m,String[][] user) { if((m%100)==0&&m>=0){ user[c][3]=Double.toString(Double.parseDouble(user[c][3])+m); System.out.println("存款操作成功!"); } else {System.out.println("请输入100的整数倍或请输入正数!");return;} } //取款方法(当前账号的下标,取款金额,账户信息数组) public void quKuan(int c,double m,String[][] user) { if((m%100)==0&&m>=0){ if((Double.parseDouble(user[c][3])-m)>=0) { user[c][3]=Double.toString(Double.parseDouble(user[c][3])-m); System.out.println("取款操作成功!"); } else{System.out.println("余额不足,取款失败!");} } else {System.out.println("请输入100的整数倍或请输入正数!");return;} } //查询余额方法(当前账号的下标,账户信息数组) public void yuE(int c,String[][] user) { System.out.println("账户名:"+user[c][0]+" ID:"+user[c][1]+" "+"余额为:"+user[c][3]+"元"); } //普通用户判断选项并执行操作 //判断方法(操作选项,当前账号的下标,账户信息数组) public void panDuan(int p,int i1,String[][] user) { switch(p) { case 1:{ System.out.println("请输入存款数:"); Scanner cks =new Scanner(System.in); Double ck=cks.nextDouble(); this.cunKuan(i1,ck,user); break; } case 2:{ System.out.println("请输入取款数:"); Scanner qks =new Scanner(System.in); Double qk=qks.nextDouble(); this.quKuan(i1,qk,user); break; } case 3:{ this.yuE(i1,user); break; } case 0:{ System.exit(0);break; } default:{System.out.println("请输入0~3的操作选项!");} } } } //普通用户类 class NotVip extends User { //普通用户操作选项 public void show() { System.out.println("我爱我家自动提款机普通用户操作界面"); System.out.println("---------"); System.out.println("【

存款---1】"); System.out.println("【取款---2】"); System.out.println("【余额---3】"); System.out.println("【退卡---0】"); System.out.println("---------"); System.out.println("请输入你的操作:"); } } //VIP用户类 class Vip extends User { //VIP用户操作选项 public void show() { System.out.println("我爱我家自动提款机VIP用户操作界面"); System.out.println("---------"); System.out.println("【存款---1】"); System.out.println("【取款---2】"); System.out.println("【余额---3】"); System.out.println("【转账---4】"); System.out.println("【退卡---0】"); System.out.println("---------"); System.out.println("请输入你的操作:"); } //VIP特有的转账方法(当前账下标,目标账号下标,转账金额,账户信息数组) public void zhuanZhang(int c,int s,double m,String[][] user) { if((Double.parseDouble(user[c][3])-m)>=0&&m>=0) { user[c][3]=Double.toString(Double.parseDouble(user[c][3])-m); user[s][3]=Double.toString(Double.parseDouble(user[s][3])+m); System.out.println("转账操作成功!"); } else{System.out.println("余额不足,转账失败或请输入正数!");} } //VIP用户判断选项并执行操作 //重写父类判断方法(操作选项,当前账号的下标,账户信息数组) public void panDuan(int p,int i2,String[][] user) { switch(p) { case 1:{ System.out.println("请输入存款数:"); Scanner ck1 =new Scanner(System.in); Double ck=ck1.nextDouble(); this.cunKuan(i2,ck,user); break; } case 2:{ System.out.println("请输入取款数:"); Scanner qk1 =new Scanner(System.in); Double qk=qk1.nextDouble(); this.quKuan(i2,qk,user); break; } case 3:{ this.yuE(i2,user); break; } case 4:{ System.out.println("请输入目标账号ID:"); Scanner zhh =new Scanner(System.in); String zh=zhh.nextLine(); for(int j=0;j<user.length;j++) { if(user[j][2].equals(zh)) { System.out.println("请输入转入金额:"); Scanner zje =new Scanner(System.in); Double zj=zje.nextDouble(); this.zhuanZhang(i2,j,zj,user); return; } } System.out.println("目标账户不存在,请核对信息!"); return; } case 0:{System.exit(0);break;} default:{System.out.println("请输入0~4的操作选项!");} } } } //用户信息类 class Info { //i变量保存当前用户在数组中的下标 int i; //保存用户信息的数组,格式:姓名,账号,密码,余额,是否VIP String[][] user={{"未知","999","999","0","notVIP"},{"聂庆亮","{{200981501:0}}","{{10010:0}}","0","notVIP"},{"乐乐","{{200981511:0}}","{{583911:0}}","0","VIP"},{"尹继平","{{200981512:0}}","{{1324114:0}}","0","VIP"}}; //判断用户


户类型并执行相应操作 //登陆验证方法(登陆账号,登陆密码) public void check(String st1,String st2) { for(i=0;i<user.length;i++) { if(user[i][1].equals(st1)&&user[i][2].equals(st2)) { if(user[i][4].equals("VIP")) { while(true) { //满足VIP类时实例化Vip类并显示Vip菜单页面 Vip vip=new Vip(); vip.show(); try { //获取用户操作并判断 Scanner sz1 =new Scanner(System.in); int str4=sz1.nextInt(); vip.panDuan(str4,i,user); } catch (Exception e) { System.out.println("需要输入数字!"+e); } } } else { while (true) { //满足普通用户类时实例化普通用户类并显示普通用户菜单页面 NotVip nv=new NotVip(); nv.show(); try { //获取用户操作并判断 Scanner sz =new Scanner(System.in); int str3=sz.nextInt(); nv.panDuan(str3,i,user); } catch (Exception e) { System.out.println("需要输入数字!"+e); } } } } } System.out.println("输入的账户ID或密码有误!请核对信息!"); Login lg=new Login(); lg.show(); } }

对于学习有困难不知道如何提升自己可以加扣:578024144进行交流得到帮助,获取学习资料




0 1
原创粉丝点击