java程序设计mooc攻略
做一个简单的银行、账户演示程序。
(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.";
}
}