import java.util.Scanner;
/*
* 编写程序,模拟银行账户功能。要求如下、
* 属性、账号、储户姓名、地址、存款余额、最小余额。
* 方法、存款、取款、查询。根据用户操作显示储户相关信息。
* 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额;
* 取款时,若最后余额小于最小余额,拒绝收款,并显示“至少保留余额XXX”
*/
// 账户类
public class ATM {
private String id; // 卡号
private String name; // 账户姓名
private String address;// 开户地址
private double money;// 账户余额
private double min;// 最小金额
// 键盘输入
Scanner sc=new Scanner(System.in);
// 构造方法,初始化基础信息
public ATM(String id,String name,String address,double money,double min ){
this.id=id;
this.name=name;
this.address=address;
this.money=money;
this.min=min;
}
// set()/get()方法
public String getId(){
return id;
}
public void setId(String id){
this.id=id;
}
public String getName(){
return name;
}
public void setName(){
this.name=name;
}
public String getAddress(){
return address;
}
public void setAddress(String address){
this.address=address;
}
public double getMoney(){
return money;
}
public void setMoney(double money){
this.money=money;
}
public double getMin(){
return min;
}
public void setMin(double min){
this.min=min;
}
// 查询方法
public void find(){
System.out.println("账户余额:"+getMoney());
}
// 存款方法
public void write(){
System.out.println("请放入存放金额");
double write=sc.nextDouble();
System.out.println("存款成功");
System.out.println("当前账户余额为:"+getMoney());
this.money=getMoney()+write;
System.out.println("存入金额:"+write);
System.out.println("账户余额为:"+getMoney());
}
// 取款方法
public void read(){
System.out.println("请输入取款金额");
double read=sc.nextDouble();
if(getMoney()-read> getMin()){
System.out.println("取款成功!");
System.out.println("当前账户余额为:"+getMoney());
this.money=getMoney()-read;
System.out.println("取出金额"+read);
System.out.println("账户余额为:"+getMoney());
}else{
System.out.println("取款失败!当前余额为:"+getMoney()+"至少保留"+getMin()+"元!");
}
}
// 操作界面
public void show(){
System.out.println(getName()+"您好!请输入您要选择的操作");
System.out.println("1.查询");
System.out.println("2.存款");
System.out.println("3.取款");
System.out.println("4.退卡");
}
// 核心操作,主程序直接调用这里
public void cell() {
//循环操作
while(true){
show();
System.out.println("--------------------");
switch (sc.nextInt()) {
case 1:
System.out.println("--------------------");
find();
System.out.println("--------------------");
break;
case 2:
System.out.println("--------------------");
write();
System.out.println("--------------------");
break;
case 3:
System.out.println("--------------------");
read();
System.out.println("--------------------");
break;
case 4:
System.out.println("--------------------");
System.out.println("欢迎下次再来");
return;
default:
System.out.println("--------------------");
System.out.println("选择错误!请重新选择");
System.out.println("--------------------");
break;
}
}
}
}
------------------------------------------------------------------------------------------------
public static void main(String[] args) {
// TODO Auto-generated method stub
//测试类
//创建账户类对象 帐号、账户姓名、开户地址、账户余额、最小余额
ATM bd = new ATM("30645", "范言鑫", "宝清县", 3000000000000000000000, 10000000000;
//循环操作
bd.cell();
}