Java学到面向对象的时候,自己在网上找了个题目,是设计银行账户存款项目的。
这个项目可以实现:给账户添加客户,以及存款和取款,并且输出余额。
一:创建一个Account类
public class Account {
private double balance;//余额
public double getBalance() {
return balance;
}
public Account(double init_balance) {
this.balance=init_balance;//给余额赋值
}
//存款方法
public void deposit(double amt) {
balance=balance+amt;
System.out.println("存款后的余额"+balance);
}
//取款方法
public void withdraw(double amt) {
if(amt>=balance) { //判断取款额是否大于余额
System.out.println("余额不足取款失败");
return;
}
balance=balance-amt;
// System.out.println("取款后的余额"+balance);
}
}
二:创建一个Customer类
public class Customer {
private String firstname;//客户的名
private String lastname;//客户的姓
private Account account;//Account 类的对象
public Customer(String f,String l) {
this.firstname=f;
this.lastname=l;
}
public Account getAccount() { //获得Account 类的对象
return account;
}
public void setAccount(Account account) { //设置Account 类的对象
this.account = account;
}
public String getFirstname() {
return firstname;
}
public String getLastname() {
return lastname;
}
}
三:创建一个Bank类
public class Bank {
private Customer [] customers;//创建一个客户类对象的数组
private int numberOfCustomers;//声明客户人数
public Bank() {
customers=new Customer[10];//给这个数组创建对象
}
public void addCustomer(String f,String l) {
Customer cust=new Customer(f,l);//给客户附上姓名
customers[numberOfCustomers++]=cust;//客户数加一
}
public int getNumberOfCustomers() {
return numberOfCustomers;
}
public Customer getCustomer(int index) { //返回指定位置的客户
if(index>=0&&index<numberOfCustomers) { //判断指定位置的客户是否超出数组范围
return customers[index];
}else
{
return null;
}
}
}
四:创建一个·BankText 测试类
public class BankText {
public static void main(String[] args) {
// TODO Auto-generated method stub
Bank bank =new Bank();
bank.addCustomer("陈", "涛");//给客户添加姓名
bank.getCustomer(0).setAccount(new Account(2000));//获取第0个客户,给他创建一个对象并且初始化余额为2000
bank.getCustomer(0).getAccount().withdraw(500);//获取第0个客户的账户存款,调用Withdraw方法取出500
double balance=bank.getCustomer(0).getAccount().getBalance();//获得第0个客户的账户余额
System.out.println("客户:"+bank.getCustomer(0).getFirstname()+bank.getCustomer(0).getLastname()+"取款后的余额为"+balance);
}
}
五:输出结果