类的封装、继承和多态

package 银行;
import java.text.SimpleDateFormat;//常用日期操作工具类
import java.util.Calendar;//使用默认时区和语言环境获得一个日历
import java.util.Date;
public class yinhang {
  private String acount;//账户
  private String name;//姓名
  private String time;//时间
  private String id;//身份
  private double num;//金额
  public String getAcount() {
   return acount;
  }
  public void setAcount(String a) {
   acount = a;
  }
  public String getName() {
   return name;
  }
  public void setName(String n) {
   name = n;
  }
  public String getTime() {
   return time;
  }
  public void setTime(String t) {
   time = t;
  }
  public String getId() {
   return id;
  }
  public void setId(String ID) {
   id = ID;
  }
  public double getNum() {
   return num;
  }
  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 银行;
import java.util.Scanner;//输入的源程序
public class Main {
 public static void main(String[] args) {
  yinhang bank=new yinhang();
  bank.setAcount("6666");
  bank.setId("123456789");
  bank.setName("by");
  bank.setNum(10000);
  Scanner sc=new Scanner(System.in);
  System.out.println("请输入你的账户号");
  String acount=sc.nextLine();
  System.out.println("请输入你的密码");
  String pwd=sc.nextLine();
  if(pwd.equals("123456")&& acount.equals(bank.getAcount())){//如果密码正确才能进行以下操作
    while(true){
     System.out.println("当前你的账户金额为:"+bank.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 一个
    String option=scan.nextLine();
    
    switch(option){//选择服务
    case "1" :
     System.out.println("请输入你要存的钱");
     double num=scan.nextDouble();
     bank.cunkuan(num);
     System.out.println("当前金额为"+bank.getNum());
     break;
    case "2":
     System.out.println("请输入你要取的钱");
     double num1=scan.nextDouble();
     bank.qukuan(num1);
     System.out.println("当前余额为"+bank.getNum());
     break;
    case "3":
     System.out.println("开户时间为:");
     System.out.println(bank.kaiHuTime());
     break;
    
    case "4":
     System.out.println("当前账户金额为:"+bank.getNum());
     break;
     
    case "5":
     System.out.println("退出系统");
     System.exit(0);
     break;
     default : System.out.println("对不起,您的输入有误");
     break;
    }
     
   }
  }else{
   System.out.println("密码或账户不正确,请重新输入");
   
  }
  
 }
 }

 结果:请输入你的账户号
6666
请输入你的密码
123456
当前你的账户金额为:10000.0
请输入以下操作:
1:存款
2:取款
3:显示开户的时间
4:获取账号的金额
5:退出当前账户
1
请输入你要存的钱
100
当前金额为10100.0
当前你的账户金额为:10100.0
请输入以下操作:
1:存款
2:取款
3:显示开户的时间
4:获取账号的金额
5:退出当前账户
2
请输入你要取的钱
400
当前余额为9700.0
当前你的账户金额为:9700.0
请输入以下操作:
1:存款
2:取款
3:显示开户的时间
4:获取账号的金额
5:退出当前账户
3
开户时间为:
2018-05-01
当前你的账户金额为:9700.0
请输入以下操作:
1:存款
2:取款
3:显示开户的时间
4:获取账号的金额
5:退出当前账户
4
当前账户金额为:9700.0
当前你的账户金额为:9700.0
请输入以下操作:
1:存款
2:取款
3:显示开户的时间
4:获取账号的金额
5:退出当前账户
5
退出系统


posted on 2018-05-01 21:31  '大大'  阅读(117)  评论(1编辑  收藏  举报