Java程序设计 北京大学 Week7互评作业

java程序设计mooc攻略

单元测验互评作业考试
week1测验2019冬期中测验
week2测验week2互评作业2019冬期末测验
week3测验week3互评作业
week4测验week4互评作业
week5测验week5互评作业
week6测验week6互评作业
week7测验week7互评作业
week8测验week8互评作业
week9测验week9互评作业
week10测验week10互评作业
week11测验吃不消,我自己是github上找了个项目上去

做一个简单的银行、账户演示程序。

(1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法(4分)。

(2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。账户列表可以使用集合相关的类,如ArrayList,最好同时使用泛型(4分)。

(3)定义一个测试类及main函数,在其中创建一个银行,开设一些账号,模拟存钱、取钱、显示余额等(2分)。

Main.java

public class Main {

    public static void main(String[] args) {
        Bank bank = new Bank("Swiss bank");
        bank.openAccount("Jack","123456",10000);
        bank.openAccount("Tom","456789",25000);
        bank.openAccount("Mike","789000",20000);
        System.out.println(bank.getMessage("Jack", "123456"));
        bank.withdraw("Jack","123456",1000);
        System.out.println(bank.getMessage("Jack", "123456"));
        System.out.println(bank.getMessage("Tom","123456"));
    }

}

Account.java

public class Account {

    private String user;
    private String passWord;
    protected double balance;

    public Account(String user, String passWord, double balance) {
        this.user = user;
        this.passWord = passWord;
        this.balance = balance;
    }

    public String getUser() {
        return user;
    }

    public void withdraw(double amount) {
        balance -= amount;
    }

    public void deposit(double amount) {
        balance += amount;
    }

    public boolean login(String passWord) {
        if (passWord.equals(this.passWord))
            return true;
        else
            return false;
    }

    @Override
    public String toString() {
        return "Account{" +
                "user='" + user + '\'' +
                ", balance=" + balance +
                '}';
    }
}

Bank.java

import java.util.ArrayList;

public class Bank {

    private String name;
    private ArrayList<Account> list;

    public Bank(String name) {
        this.name = name;
        list = new ArrayList<>();
    }

    public void openAccount(String user, String passWord, double balance) {
        list.add(new Account(user, passWord, balance));
    }

    public boolean checkAccount(String user, String passWord) {
        for (Account each : list) {
            if (each.getUser().equals(user) && each.login(passWord))
                return true;
        }
        return false;
    }

    public void withdraw(String user, String passWord, double amount) {
        for (Account each : list) {
            if (each.getUser().equals(user) && each.login(passWord))
                each.withdraw(amount);
        }
    }

    public void deposit(String user, String passWord, double amount) {
        for (Account each : list) {
            if (each.getUser().equals(user) && each.login(passWord))
                each.deposit(amount);
        }
    }

    public String getMessage(String user, String passWord) {
        for (Account each : list) {
            if (each.getUser().equals(user) && each.login(passWord))
                return each.toString();
        }
        return "Account is not alive.";
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真实的hello world

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值