#做一个简单的银行、账户演示程序。
(1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法(4分)。
(2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。账户列表可以使用集合相关的类,如ArrayList,最好同时使用泛型(4分)。
(3)定义一个测试类及main函数,在其中创建一个银行,开设一些账号,模拟存钱、取钱、显示余额等(2分)。
1、账户类
package YinHang;
/*
* 定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法
*/
public class Account {
//账户名称
private String acno;
//账户密码
private int acmima;
//账户金额
private double balance;
//无参构造
public Account() {
}
//有参构造
public Account(String acno,int acmima,double balance ) {
this.acno = acno;
this.acmima = acmima;
this.balance = balance;
}
//封装接口
public String getAcno() {
return acno;
}
public void setAcno(String acno) {
this.acno = acno;
}
public int getAcmima() {
return acmima;
}
public void setAcmima(int acmima) {
this.acmima = acmima;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
//存钱
public void savemoney(double money) {
balance += money;
System.out.println("已存入:"+money+"元;"+"余额:"+balance);
}
//取钱
public void withdrawmoney(double money) {
double temp;
temp = balance - money;
if (temp > 0) {
System.out.println("取出:"+ money + "元;"+"余额:"+balance);
}
if (temp < 0) {
System.out.println("对不起!你的余额已不足!");
}
}
public void show() {
System.out.println("姓名:"+acno+"\n"+"账户余额:"+balance);
}
}
2、银行类
package YinHang;
import java.util.*;
/*
* 定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。
* 账户列表可以使用集合相关的类,如ArrayList,最好同时使用泛型
*/
public class Bank {
public String BankName;
private ArrayList<Account> account;
Bank(String bankName){
this.BankName=bankName;
account = new ArrayList<Account>();
}
public Bank(String BankName, ArrayList<Account> account) {
this.BankName = BankName;
this.account = account;
}
//开账户
public void OpenAccount(String acno,int acmima,double balance)
{
account.add(new Account(acno,acmima,balance));
}
//查找账户按用户名,若找到,返回该账户,否则,返回null
public Account SeekAccount(String anco)
{
for(Account account : account)
{
if(anco.equals(account.getAcno()))
return account;
}
return null;
}
//显示该用户账户信息
public void showAccount(String acno){
Account account = SeekAccount(acno);
if(account == null)
System.out.println("该账户不存在。");
else
account.show();
}
//向特定账户存钱
public void saveMoney(String anco,double money){
Account account = SeekAccount(anco); //查找
if(account == null)
System.out.println("该账户不存在。");
else
account.savemoney(money);
}
//从特定账户取钱,需验证密码
public void withdrawMoney(String anco,double money,int acmima){
Account account = SeekAccount(anco); //查找
if(account==null)
System.out.println("该账户不存在。");
else
{
if(acmima == (account.getAcmima()))
{
account.withdrawmoney(money);
}
else
{
System.out.println("密码不正确,取钱失败。");
}
}
}
}
3、测试类。
package YinHang;
/*
做一个简单的银行、账户演示程序。
(1)定义一个账户类,包含用户名、密码、余额等属性、存钱、取钱等方法。
(2)定义一个银行类,包含银行名、账户列表等属性,开账户、查账户的功能。账户列表可以使用集合相关的类,如ArrayList,最好同时使用泛型。
(3)定义一个测试类及main函数,在其中创建一个银行,开设一些账号,模拟存钱、取钱、显示余额等。
*/
public class Test {
public static void main(String[] args) {
Bank bank = new Bank("中国银行");
bank.OpenAccount("张三", 66, 99);
bank.OpenAccount("李四", 66, 99);
bank.OpenAccount("王五", 66, 40);
//存钱
bank.saveMoney("张三", 100);
//结果:已存入:100.0元;余额:199.0
//从特定账户取钱,需验证密码
bank.withdrawMoney("张三",10,66);
//取出:10.0元;余额:199.0
//显示账户信息
bank.showAccount("张三");
//姓名:张三
//存钱
bank.saveMoney("李四", 100);
//账户余额:199.0
//密码错误,取钱失败的情况
bank.withdrawMoney("李四",99,6);
//密码不正确,取钱失败。
//余额不足的情况
bank.withdrawMoney("李四",2000,66);
//对不起!你的余额已不足!
}
}