package Demo; import java.util.Date; import java.util.Scanner; //date是数据库中的一个用法,初始化后输出的是操作时的时间 public class Test3 { static int n=0;//用于计算共有多少个账户 static int bo=0;//用来判断取款是否成功 static account []a=new account [50];//创建数组,用来存账户 static String yh;//存取进行操作的账号 static int m=0;//用来记录要操作的账户是数组中的第几个 static int o=0;//用来记录要转账的账户是数组中的第几个 static String mm;//用来存储要操作的账户的密码 static char ch=‘x‘;//while循环使用 static Scanner sca=new Scanner(System.in);//用于输入内容 public static void main(String []args) { a[n++]= new account("1","2","3","4",500.0);//创建一个账户 a[n++]= new account("2","3","4","4",1000.0);//创建一个账户 //输入用户账号和密码 //如果账号输入错误就重新输入,如果密码输入错误就退出操作 //输入账号 while(ch==‘x‘) { System.out.println("请输入你的账号"); yh=sca.next(); System.out.println("请输入你的密码"); mm=sca.next(); int n2=0;//用来判断是否账号输入正确 for(int i=0;i<n;i++) { if(a[i].getcdnum().equals(yh)) { n2=1; m=i; } } if(n2==0) { System.out.println("你输入的卡号是错的,请重新输入"); } else { ch=‘z‘; } } //输入密码 int n1=0; if(a[m].getmima().equals(mm)) { n1=1; } if(n1==0) { System.out.println("密码错误,无法进行操作"); } //用户操作 else { while(ch==‘z‘)//因为ch是static的,所以ch已被改编成‘z’ { System.out.println("请输入你需要进行的操作:"); System.out.println("1:存款"); System.out.println("2:取款"); System.out.println("3:转账汇款"); System.out.println("4:修改密码"); System.out.println("5:查询余额"); System.out.println("6:退出"); int xz=sca.nextInt();//输入选项 switch (xz) { case 1://存款 { System.out.println("请输入存款的金额"); int j1=sca.nextInt(); cunkuan(j1); System.out.println("余额是"+a[m].getye());//输出进行的操作类型和进行操作的时间 break; } case 2://取款 { qukuan(); if(bo==1) { System.out.println("取款成功"); a[m].settype("取款"); System.out.println(a[m].getdate().toString() + a[m].gettype());//输出进行的操作类型和进行操作的时间 } else { System.out.println("取款失败"); } break; } case 3://转账 { System.out.println("请输入需要转账的账户"); String cd1=sca.next(); int tj=0; for(int i=0;i<n;i++) { if(a[i].getcdnum().equals(cd1)) { o=i; tj=1; } } if(tj==0) { System.out.println("账号错误"); } else { System.out.println("请输入需要转的金额"); double j1=sca.nextDouble(); if(a[m].getye()<j1) { System.out.println("余额不足"); } else { zhuanzhang(cd1,j1); a[m].settype("转账"); System.out.println(a[m].getdate().toString()+a[m].gettype()); } } break; } case 4://修改密码 { System.out.println("请输入原密码:"); String m1=sca.next(); if(a[m].getmima().equals(m1)) { System.out.println("请输入新的密码:"); String m2=sca.next(); a[m].setmima(m2); a[m].settype("修改密码"); System.out.println(a[m].getdate().toString()+a[m].gettype()); } else { System.out.println("密码输入错误"); } break; } case 5://显示余额 { System.out.println("余额是"+a[m].getye()); a[m].settype("显示余额"); System.out.println(a[m].getdate().toString()+a[m].gettype()); break; } case 6://退出 { ch=‘x‘; } } } } } private static account account(String string, String string2, String string3, String string4, double d) { // TODO Auto-generated method stub return null; } static void cunkuan(double ck) { double c=a[m].getye(); a[m].setye(c+ck); a[m].settype("存款"); a[m].setdate(); System.out.println(a[m].getdate().toString() + a[m].gettype()); } static int qukuan() { bo = 0;//bo是静态的,所以需要在使用时,重新置为零 System.out.println("请输入你需要取款的金额:"); System.out.println("1:100元"); System.out.println("2:500元"); System.out.println("3:1000元"); System.out.println("4:1500元"); System.out.println("5:2000元"); System.out.println("6:5000元"); System.out.println("7:其他"); int sz=sca.nextInt(); switch(sz) { case 1: { if(a[m].getye()>=100) { a[m].setye(a[m].getye()-100); bo=1; } break; } case 2: { if(a[m].getye()>=500) { a[m].setye(a[m].getye()-500); bo=1; } break; } case 3: { if(a[m].getye()>=1000) { a[m].setye(a[m].getye()-1000); bo=1; } break; } case 4: { if(a[m].getye()>=1500) { a[m].setye(a[m].getye()-1500); bo=1; } break; } case 5: { if(a[m].getye()>=2000) { a[m].setye(a[m].getye()-2000); bo=1; } break; } case 6: { if(a[m].getye()>=5000) { a[m].setye(a[m].getye()-5000); bo=1; } break; } case 7: { System.out.println("请输入你想取的金额"); double sz1=sca.nextDouble(); if(a[m].getye()>=sz1) { a[m].setye(a[m].getye()-sz1); bo=1; } break; } } return bo; } static void zhuanzhang(String cd,double j) { a[m].setye(a[m].getye()-j);//要操作的账户余额减去j a[o].setye(a[o].getye()+j);//要转账的用户余额加上j } } class account{ private String cdnum;//银行卡号 private String name;//用户姓名 private String type;//操作类型 private Date date;//操作时间 private String mima;//密码 private double ye;//余额 account(String c,String n,String d,String m,double y) { cdnum=c; name=n; date=new Date(); mima=m; ye=y; type = "创建账户"; } void setcdnum(String c) { cdnum=c; } String getcdnum() { return cdnum; } void setname(String n) { name=n; } String getname() { return name; } void settype(String n) { type=n; } String gettype() { return type; } void setdate() { date = new Date(); } Date getdate() { return date; } void setmima(String m) { mima=m; } String getmima() { return mima; } void setye(double y) { ye=y; } double getye() { return ye; } }
时间: 2024-10-18 07:02:15