定义银行账户类 Account
有属性: 卡号ID 余额 balance 所属用户 Customer
银行账户类 Account 含有的方法
1.获取卡的详细信息
2.取钱功能,如果取钱成功,返回true,否则返回false
3.存钱功能,如果存钱成功,返回true,否则返回false
所属用户Customer类,有属性:姓名,身份证号,联系电话,家庭住址等
用户Customer类包含的方法
1.查看个人信息功能
2.修改个人信息功能
编写程序构建一个银行类Bank,测试账户类对象 和 用户类对象,并进行信息设置和信息展示
account类
package TodayHw2;
public class Account {
private String ID; // 卡号
private double balance; // 余额
private Customer customer; // 所属用户
// 可以优化,增加密码
// 存取时,判断账号密码
//获取卡的详细信息
public void showInfo() {
System.out.println("卡号: " + ID);
System.out.println("余额: " + balance);
System.out.println("账户名: " + customer.getName());
System.out.println("手机号: " + customer.getPhone());
System.out.println("地址: " + customer.getAddress());
System.out.println("身份证: " + customer.getPID());
}
// 取钱功能
// 优化 !!!! 先输入银行卡账号,和密码进行校验在进行操作
public void getMoney(double getmoney) {
System.out.println("取钱功能");
if (getmoney > getBalance()) {
System.out.println("取钱失败,余额不足!");
} else {
setBalance(getBalance() - getmoney); // 余额减去取得钱
System.out.println(customer.getName() + "账户取出" + getmoney);
System.out.println("余额: " + getBalance());
}
}
// 存钱功能
public void saveMoney(double savemoney) {
System.out.println("存钱功能");
setBalance(getBalance() + savemoney);
System.out.println(customer.getName() + "账户存入" + savemoney);
System.out.println("余额: " + getBalance());
}
public Account() {
}
public Account(String ID, double balance, Customer customer) {
this.ID = ID;
this.balance = balance;
this.customer = customer;
}
public String getID() {
return ID;
}
public void setID(String ID) {
this.ID = ID;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
}
customer类
package TodayHw2;
public class Customer {
private String name; // 姓名
private String PID; // 身份证号
private String phone; // 联系电话
private String address; // 家庭住址
private Account account;// 账户
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
// 查看个人信息功能
public void showCustInfo(){
System.out.println(getName());
System.out.println(getAddress());
System.out.println(getPID());
System.out.println(getPhone());
}
// 修改个人信息功能
public void editCustInfo(String name,String phone ,String address){
this.setName(name);
this.setPhone(phone);
this.setAddress(address);
}
@Override
public String toString() {
return "Customer{" +
"name='" + name + '\'' +
", PID='" + PID + '\'' +
", phone='" + phone + '\'' +
", address='" + address + '\'' +
'}';
}
public Customer() {
}
public Customer(String name, String PID, String phone, String address, Account account) {
this.name = name;
this.PID = PID;
this.phone = phone;
this.address = address;
this.account = account;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPID() {
return PID;
}
public void setPID(String PID) {
this.PID = PID;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
测试类
package TodayHw2;
import java.util.Scanner;
public class TestBank {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Customer c = new Customer();
Account a = new Account();
c = new Customer("Virus", "A1587", "0571", "浙江省嘉兴市南湖区月河街区",a);
a = new Account("1", 100,c);
a.showInfo();
// 取钱
System.out.println("请输入要取的钱: ");
double getmoney = scanner.nextDouble();
a.getMoney(getmoney);
// 存钱
System.out.println("请输入要存的钱");
double savemoney = scanner.nextDouble();
a.saveMoney(savemoney);
// 查看信息
c.showCustInfo();
// 修改信息
System.out.println("请输入修改后的姓名");
String name = scanner.next();
System.out.println("请输入修改后的电话号码");
String phone = scanner.next();
System.out.println("请输入修改后的地址");
String address = scanner.next();
c.editCustInfo(name,phone,address);
// 查看信息
c.showCustInfo();
}
}