java多态课程_JAVA08多态之课程问题解决

packageWork;//接口多态:使用接口代替抽象基类//李慧,2016.11.18

importjava.util.Scanner;importjava.util.Vector;public classATM{static AccountY stu[]=new Account[500];public static voidmain(String[] args) {//TODO Auto-generated method stub//主界面(5个用户)

stu[0]=new Account("20153150","李慧","2016/11/15","123456",1000);

stu[1]=new Account("20153151","李","2016/11/15","li",2000);

stu[2]=new Account("20153152","木子","2016/11/15","muzi",3000);

stu[3]=new Account("20153149","诺米","2016/11/15","nuomi",5000);

stu[4]=new Account("20153148","夏小暑","2016/11/15","xiaxiaoshu",4800);

String key;

Scanner scan=newScanner(System.in);

Scanner scan1=newScanner(System.in);

Scanner scan2=newScanner(System.in);

Scanner scan3=newScanner(System.in);int num=0;int k=1;

System.out.println("请输入密码:");

key=scan.nextLine();int b=0;for(int i=0;i< 5;i++)

{if(!key.equals(stu[i].getKey()))

{ b++;}}if(b>=5){

System.out.print("该卡已被锁定,无法操作");

}else

for(int i=0;i< 5;i++)

{if(key.equals(stu[i].getKey()))

{while(k==1)

{

System.out.println();

System.out.print("1.存款 2.取款 3.转账汇款 4.修改密码 5.查询余额 6.退卡");

System.out.println();

System.out.print("请选择:");

num=scan1.nextInt();if(num==6)

{ System.out.println("卡已成功退出!请拿卡!");break;

}switch(num)

{case 1://存款

doublem;

System.out.print("请输入存入的金额:");

m=scan2.nextDouble();

stu[i].cun(m);break;case 2://取款

intnumm;

System.out.print("100元\t500元\t1000元\t1500元\t2000元\t5000元\t其他金额\n"

+ "1.退卡");

System.out.println();

System.out.print("请选择:");

numm=scan3.nextInt();if(numm==1) break;elsestu[i].qu(numm);break;case 3://转账汇款

String nummm;doublecc;intn;

System.out.print("请输入转账行号:");

nummm=scan.nextLine();/*boolean b=true;

for(int j=0;j<5;j++)

{if(!nummm.equals(stu[j].getNum()))

{

b=false;

}}

if(b==false){

System.out.println("信息错误!");

}*/

for(int j=0;j<5;j++)if(nummm.equals(stu[j].getNum()))

{

System.out.print("请输入转账金额:");

cc=scan.nextDouble();

System.out.print("请确认(1确认,0取消)");

n=scan.nextInt();if(n==1)

{

stu[i].qu(cc);

stu[j].cun(cc);

System.out.print("转账成功!");

}else if(n==0){

System.out.print("已取消!");

}else{

System.out.print("发生错误!");

}

}break;case 4:

String kk;

System.out.print("请输入修改的密码:");

kk=scan.nextLine();

stu[i].setKey(kk);break;case 5:

System.out.print("余额为:"+stu[i].getMoney());break;case 6:break;

}

}

}}

}

}abstract classAccountY

{public abstractString getNum();public abstract voidsetKey(String s);public abstractString getKey();public abstract doublegetMoney();public abstract void cun(doublem);public abstract void qu(doublem);

}class Account extendsAccountY{private String num;//长度为11,由数字和字符组合

private String name;//用户的姓名

private String Date;//操作日期

private String key;//账户密码

private double money;//当前余额

public Account(String n,String a,String b,String c,double d){num=n;name=a;Date=b;key=c;money=d;}public String getNum(){returnnum;}public String getName(){returnname;}public String getDate(){returnDate;}public voidsetKey(String s){

key=s;

}public String getKey(){returnkey;}public double getMoney(){returnmoney;}public void cun(doublem){if(m<=200000)

money+=m;else{System.out.println("超出限额!");}

}public void qu(doublem){if(m

money-=m;elseSystem.out.println("超出余额!");

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值