类的封装,继承和多态
package yh; import java.text.SimpleDateFormat;//常用日期操作工具类
import java.util.Calendar;//使用默认时区和语言环境获得一个日历
import java.util.Date; public class yh
{ private String name;//姓名 private String id;//身份
public yh(String name, String id)
{ this.name=name; this.id=id; }
public String getName() { return name; }
public void setName(String n) { name = n; }
public String getId() { return id; }
public void setId(String ID) { id = ID; } }
class yhcaozuo extends yh
{ private String time;//时间 String acount;//账户
private double num; public yhcaozuo(String name,String id,String time,String acount,double num)
{ super(name,id); this.time=time; this.acount=acount; this.num=num; }
public String getTime()
{ return time; }
public void setTime(String t)
{ time = t; }
public String getAcount() { return acount; }
public void setAcount(String a) { acount = a; }
public void setNum(double m) { num = m; }
public void cunkuan(double m){ num=num+m; } //取款方法
public void qukuan(double m){ if(m>num){ System.out.println("余额不足,不能取款"); }else{ num=num-m; } } //显示开户时间的方法
public String kaiHuTime(){ Date currDate=Calendar.getInstance().getTime(); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); this.time=sdf.format(currDate); return time; } //获得账上金额的方法
public double GetAcountNum(){ return num; } }
package zyh; import java.util.Scanner;
import yh.yh;
public class zyh {
public static void main(String[] args) { yh bank=new yh("lucy","101");
yhcaozuo bank1 = null; Scanner sc=new Scanner(System.in);
System.out.println("请输入你的账户号"); String acount=sc.nextLine();
System.out.println("请输入你的密码"); String pwd=sc.nextLine();
if(pwd.equals("12345")&& acount.equals(bank1.getacount())){//如果密码正确才能进行以下操作
while(true)
{ System.out.println("当前你的账户金额为:"+bank1.getnum()+"\n请输入以下操作:");
System.out.println("1:存款");
System.out.println("2:取款");
System.out.println("3:显示开户的时间");
System.out.println("4:获取账号的金额");
System.out.println("5:退出当前账户");
Scanner scan=new Scanner(System.in);//同一个变量sc之间可能会有影响 可以重新new 一个
int ch=scan.nextInt(); switch(ch){//选择服务
case 1: System.out.println("请输入你要存的钱"); double num=scan.nextDouble(); bank1.cunkuan(num); System.out.println("当前金额为"+bank1.getnum()); break;
case 2: System.out.println("请输入你要取的钱"); double num1=scan.nextDouble(); bank1.cunkuan(num1);
System.out.println("当前余额为"+bank1.getnum()); break;
case 3: System.out.println("开户时间为:"); System.out.println(bank1kaiHuTime()); break;
case 4: System.out.println("当前账户金额为:"+bank1.getnum()); break;
case 5: System.out.println("退出系统"); System.exit(0); break; default :
System.out.println("对不起,您的输入有误"); break; } } }
else{ System.out.println("密码或账户不正确,请重新输入"); } }
private static char[] bank1kaiHuTime()
{ // TODO Auto-generated method stub return null; } }