packageDemo;importjava.util.Date;importjava.util.Scanner;//date是数据库中的一个用法,初始化后输出的是操作时的时间
public classTest3 {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 voidmain(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
{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
{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()
{
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, doubled) {//TODO Auto-generated method stub
return null;
}static void cunkuan(doubleck)
{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 intqukuan()
{
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;
}
}returnbo;
}static void zhuanzhang(String cd,doublej)
{
a[m].setye(a[m].getye()-j);//要操作的账户余额减去j
a[o].setye(a[o].getye()+j);//要转账的用户余额加上j
}
}classaccount{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,doubley)
{
cdnum=c;
name=n;
date=newDate();
mima=m;
ye=y;
type= "创建账户";
}voidsetcdnum(String c)
{
cdnum=c;
}
String getcdnum()
{returncdnum;
}voidsetname(String n)
{
name=n;
}
String getname()
{returnname;
}voidsettype(String n)
{
type=n;
}
String gettype()
{returntype;
}voidsetdate()
{
date= newDate();
}
Date getdate()
{returndate;
}voidsetmima(String m)
{
mima=m;
}
String getmima()
{returnmima;
}void setye(doubley)
{
ye=y;
}doublegetye()
{returnye;
}
}