Java面向对象练习题之银行卡类和用户类

定义银行账户类 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();

    }
}
  • 7
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值