黑马程序员技术交流社区

标题: (分享)模拟ATM操作程序 [打印本页]

作者: 胡高德    时间: 2012-12-6 22:39
标题: (分享)模拟ATM操作程序
/*
2.ATM操作程序  
  
  程序运算时提示:
   1.存钱   2取钱  3.查看  4退出
  当选择某一个操作时,进行这操作
  执行完这个操作后,回到提示面
   1.存钱   2取钱  3.查看  4退出
  
  退出 System.exit(0);
分析:有几个实体  ATM  人
   ATM具有的行为: 存   取  查  退出
   人具有的属性 : 钱
   ATM它的行为都是在操作人的钱.
   ATM与人之间应该有关系   ATM类中应该包含人的对象
   
*/
import java.util.*;
class Test9
{
public static void main(String[] args)
{
  Scanner sc=new Scanner(System.in);
  ATM atm=new ATM();
  while(true){ //为了控制当某一个操作后,还回到提示界面.
   System.out.println("请选择要做的操作 1.存钱   2取钱  3.查看  4退出");
   int n=sc.nextInt();
   //根据输入来判断执行哪一个操作.
   switch(n){   
    case 1:atm.save();break;
    case 2:atm.get();break;
    case 3:atm.search();break;
    case 4:atm.exit();break;
    default:System.out.println("请选择正确操作");
   }
  }
}
}
class ATM
{
Person person=new Person();//将人做为ATM的属性

Scanner sc=new Scanner(System.in);
//存
public void save(){
  System.out.println("请输入要存入的金额");
  double money=sc.nextDouble();
  //将要存入的金额累加到person的money属性上
  person.setMoney(money+person.getMoney());
  //System.out.println("save");
}
//取
public void get(){
  
  System.out.println("请输入要取款的金额");
  double money=sc.nextDouble();
  //为了避免透支  
  if(person.getMoney()>=money){
   person.setMoney(person.getMoney()-money);
   
  }else{
   
   System.out.println("余额不足");
  }
// System.out.println("get");
}
//查
public void search(){
  
  System.out.println("你银行余额:"+person.getMoney());
  //System.out.println("search");
}
//退出
public void exit(){
  
  System.exit(0);
}
}

class Person
{
private double money;
public void setMoney(double money){
  this.money=money;
}
public double getMoney(){
  return money;
}
}

作者: 许庭洲    时间: 2012-12-7 07:35
值得学习ing!
作者: 胡高德    时间: 2012-12-7 08:43
许庭洲 发表于 2012-12-7 07:35
值得学习ing!

呵呵,谢谢。这是因为老师详细的讲过才弄出来。有的还是看老师的代码才弄出来的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2