用java实现银行系统

import java.util.*;

//银行类
class bank
{
//主函数
public static void main(String[] args)
{
int i;
//顾客初始化
Vector st=new Vector();
st.add(new cust(111,123,1000,"小薇"));
st.add(new cust(222,234,2000,"小夏"));
st.add(new cust(333,345,3000,"小刚"));
st.add(new cust(444,456,4000,"小红"));
st.add(new cust(555,567,5000,"小莉"));

//管理员初始化
Vector v=new Vector();
v.add(new administer(100,001,"袁袁"));

while (true)
{
System.out.println("-------系统--------");
System.out.println("*****1.管理员 *****");
System.out.println("*****2.顾客 *******");
System.out.println("-------------------");

System.out.println("请选择:");
int a=new KB().nextInt();

switch(a)
{
case 1:
System.out.println("欢迎您,管理员!\n");
System.out.println("请输入您的ID:");
int u=new KB().nextInt();
for (i=0;i{
administer temp=((administer)v.get(i));
if(u==temp.ID)
{
temp.run(st,v);
break;
}

}
if(i==v.size())
System.out.println("没有该管理员!\n");

break;


case 2:
while(true)
{
System.out.println("欢迎光临!\n");
System.out.println("请输入您的账号:");
int z=new KB().nextInt();

for(i=0;i{
cust temp=((cust)st.get(i));
if (z==temp.ID)
{
temp.run(st);
break;
}
}
if(i==st.size())
System.out.println("没有该顾客!\n");

System.out.println("是否还有顾客?有-->y或Y 没有-->n或N");
String e=new Scanner(System.in).next();
if(e.equals("n")||e.equals("N"))
{
System.out.println("\n*********停止营业*********");
break;
}
}
break;

default:
System.out.println("没有该选项!\n");
break;
}

System.out.println("是否要继续系统操作? \n 继续-->任意键 不继续-->n或N");
String w=new Scanner(System.in).next();
if(w.equals("n")||w.equals("N"))
{
System.out.println("---------------------退出系统操作-------------------");
break;
}
}
}
}


//顾客的类
class cust
{
int ID;
int PWD;
int money;
String name;
static int allnub=0;
int pernub;

//构造函数
cust(int i,int p,int m,String n)
{
this.ID=i;
this.PWD=p;
this.money=m;
https://www.360docs.net/doc/91276665.html,=n;
allnub++;
this.pernub=allnub;
}

//存款
void saveM()
{
while (true)
{
System.out.println("请输入您存款的金额:");
int m=new KB().nextInt();
if(m>0)
{
this.money+=m;
break;
}
else
{
System.out.println("您存款的金额不正确,请重新输入!\n");
}

}

}

//取款
void getM()
{
while (true)
{
System.out.printl

n("请输入您取款的金额:");
int m=new KB().nextInt();
if(m>0)
{
if(mthis.money-=m;
else
System.out.println("对不起,您账户余额不足!\n");

break;
}
else
{
System.out.println("您取款的金额不正确,请重新输入!\n");
}

}

}

//查询
void printM()
{
System.out.println("姓名:"+https://www.360docs.net/doc/91276665.html,+" 账号:"+this.ID+" 余额:"+this.money);
}


//转账,用密码操作
void transfer(Vector st)
{
int i;
System.out.println("请输入您想转入的账号:");
int d=new KB().nextInt();

for ( i=0;i<5 ;i++ )
{
cust temp0=((cust)st.get(i));

if (d==temp0.ID)
{
System.out.println("请输入转账的金额:");
int mm=new KB().nextInt();

if (mm>this.money)
{
System.out.println("对不起,您账户余额不足,无法转账!\n");
}

else if(mm>0)
{
this.money-=mm;
temp0.money+=mm;
System.out.println("转账成功!\n");
}

else //反转账
{
if(temp0.key()==true)
{
if(-mm{
this.money-=mm;
temp0.money+=mm;
System.out.println("转账成功!\n");
}
else
{
System.out.println("他/她的账户余额不足!\n");
}

}
else
{
System.out.println("反转账失败!\n");
}
}

break;
}
}


if (i==5)
System.out.println("没有该账号!");
}


//判断密码,三次错误则失败
boolean key()
{
int x=1;
boolean back=true;
while(x<=3)
{
System.out.println("请输入该账户密码:");
int pwd=new KB().nextInt();
if(pwd==this.PWD)
{
back=true;
break;
}
else
{
System.out.println("密码有误,请重新输入!\n");
x++;
}
}
if (x==4)
{
System.out.println("密码错误!");
back=false;
}
return(back);
}

//修改密码
void modifyKey()
{
if(this.key()==true)
{
System.out.println("请输入您的新密码:");
int k=new KB().nextInt();
this.PWD=k;
System.out.println("密码修改成功!");
}
else
{
System.out.println("对不起,操作失败!");
}

}


//运行
void run(Vector st)
{
if(this.key()==false)
{
System.out.println("对不起,操作失败!");
return;
}

System.out.println("\n您好,一共有"+allnub+"个顾客,您是第"+this.pernub+"个顾客!"+"\n\n");
boolean flag=true;
while(flag)
{
System.out.println(" 银行系统 ");
System.out.println("*******************");
System.out.println("1. 存款");
System.out.println("2. 取款");
System.out.println("3. 查询");
System.out.println("4. 转账");
System.out.println("5. 修改密码");
S

ystem.out.println("6. 退出");
System.out.println("*******************\n");
System.out.println("请选择:");
int c=new KB().nextInt();
switch(c)
{
case 1:this.saveM();
break;
case 2:this.getM();
break;
case 3:this.printM();
break;
case 4:this.transfer(st);
break;
case 5:this.modifyKey();
case 6:flag=false;
System.out.println("\n欢迎下次光临!");
break;
default:System.out.println("没有该选项,请重新选择!");
break;

}
}

}
}



//管理员类
class administer
{
int ID;
int PWD;
String name;

//构造函数
administer(int ID,int PWD,String name)
{
this.ID=ID;
this.PWD=PWD;
https://www.360docs.net/doc/91276665.html,=name;
}

//添加顾客
void addCust(Vector st)
{
System.out.println("请输入新添加顾客的账号:");
int i=new KB().nextInt();
System.out.println("请输入新添加顾客的密码:");
int p=new KB().nextInt();
System.out.println("请输入新添加顾客的开户金额:");
int m=new KB().nextInt();
System.out.println("请输入新添加顾客的名字:");
String n=new Scanner(System.in).next();
st.add(new cust(i,p,m,n));
System.out.println("添加成功!\n");
}

//删除顾客
void deleteCust(Vector st)
{
int i;
System.out.println("请输入您想删除的顾客的账号:");
int s=new KB().nextInt();
for (i=0 ;i{
cust temp=((cust)st.get(i));
if (s==temp.ID)
{
st.remove(temp);
System.out.println("删除成功!\n");
break;
}
}

}

//顾客排序
void order(Vector st)
{
int i,j;
int aa[] = new int[st.size()];

for (i=0 ;i{
cust temp=((cust)st.get(i));
aa[i] = temp.money;
}

for (i=1 ;i{
for (j=0 ;j{
int nub;
if(aa[j]{
nub = aa[j];
aa[j] = aa[j+1];
aa[j+1] = nub;
}
}
}
for (i=0;i{
for (j=0 ;j{
cust temp=((cust)st.get(j));
if (temp.money == aa[i])
{
temp.printM();
}
}
}
System.out.println();
}


//计算储蓄总额
void sum(Vector st)
{
int i;
int allmoney=0;
for (i=0 ;i{
cust temp=((cust)st.get(i));
allmoney+=temp.money;
}
System.out.println("银行的储蓄总额为:\n"+allmoney);
}


//打印清单
void printList(Vector st)
{
int i;
for (i=0 ;i{
cust temp=((cust)st.get(i));
temp.printM();
}
System.out.println();

}

//打印某个顾客的信息
void printOnePerson(Vector st)
{
int i;
System.out.println("请输入您想查询的顾客的ID:");
int s = new KB().nextInt();

for (i=0 ;i{
cust temp=((cust)st.get(i));
if (temp.ID == s)
{
temp.printM();
break;

}
}
System.out.println();
if(i == st.size())
System.out.println("抱歉,没有该顾客!\n");

}

//判断密码
boolean key()
{
int x=1;
boolean back=true;
while(x<=3)
{
System.out.println("请输入该账户密码:");
int pwd=new KB().nextInt();
if(pwd==this.PWD)
{
back=true;
break;
}
else
{
System.out.println("密码有误,请重新输入!\n");
x++;
}
}
if (x==4)
{
System.out.println("密码错误!");
back=false;
}
return(back);
}

//修改密码
void modifyKey()
{
if(this.key()==true)
{
System.out.println("请输入您的新密码:");
int k=new KB().nextInt();
this.PWD=k;
System.out.println("密码修改成功!");
}
else
{
System.out.println("对不起,操作失败!");
}
}

//添加其他管理员
void addA(Vector v)
{
System.out.println("请输入新添加的管理员的ID:");
int i=new KB().nextInt();
System.out.println("请输入新添加的管理员的密码:");
int p=new KB().nextInt();
System.out.println("请输入新添加的管理员的名字:");
String n=new Scanner(System.in).next();
v.add(new administer(i,p,n));
System.out.println("添加成功!\n");
}


//运行程序
void run(Vector st,Vector v)
{
if(this.key()==false)
{
System.out.println("对不起,操作失败!\n");
return;
}

System.out.println("\n"+https://www.360docs.net/doc/91276665.html,+",您好,欢迎您!\n");
boolean flag=true;
while(flag)
{
System.out.println(" 管理系统 ");
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. 计算储蓄总额 -------");
System.out.println("----- 7. 修改密码 -----------");
System.out.println("----- 8. 添加其他管理员 -----");
System.out.println("----- 9. 退出 ---------------");
System.out.println("*****************************\n");
System.out.println("请选择:");
int c=new KB().nextInt();
switch(c)
{
case 1:this.addCust(st);
break;
case 2:this.deleteCust(st);
break;
case 3:this.printList(st);
break;
case 4:this.printOnePerson(st);
break;
case 5:this.order(st);
break;
case 6:this.sum(st);
break;
case 7:this.modifyKey();
break;
case 8:this.addA(v);
break;
case 9:flag=false;
System.out.println("\n管理结束!");
break;
default:System.out.println("没有该选项,请重新选择!");
break;

}
}

}
}


//键盘输入
class KB
{
static Scanner s = new Scanner(System.in);

static int nextInt()
{
return s.nextInt();
}
}

相关文档
最新文档