Java面向对象的综合训练题目

问题:

 

 Account类源码:

public class Account {
	//属性
	private double balance;//账户余额
	
	//构造器
	public Account(double init_balance) {
		this.balance = init_balance;
	}
	
	//方法
	//查看账号余额
	public double getBalance() {
		return this.balance;
	}
	
	//存钱操作
	public void deposit(double amt) {
		if(amt > 0) {
			balance += amt;
			System.out.println("存钱成功!" + "存入金额为: \t" + amt + "元");
		}else {
			System.out.println("存入金额非法!");
		}
	}
	
	//取钱操作
	public void withDraw(double amt) {
		if(this.balance >= amt) {
			balance -= amt;
			System.out.println("取钱成功!" + "取出金额为: \t" + amt + "元");
		}else {
			System.out.println("余额不足!");
		}
	}
}

Customer类源码:


public class Customer {
	//属性
	private String firstName;
	private String lastName;
	private Account account;//账号信息
	
	//构造器
	public Customer(String f,String l) {
		this.firstName = f;
		this.lastName = l;
	}
	
	//方法
	//查看姓
	public String getFirstName() {
		return this.firstName;
	}
	//查看名
	public String getListName() {
		return this.lastName;
	}
	//设置账户
	public void setAccount(Account acct) {
		this.account = acct;
	}
	//显示账号
	public Account getAccount() {
		return this.account;
	}
}

Bank类源码:

public class Bank {
	//属性
	private Customer[] customers;//存储客户信息
	private int numberOfCustomers;//当前用户个数
	
	//构造器
	public Bank() {
		//在创建Bank类的对象的同时给customers这个一维Customer数组创建一个新的空间
		//如果没有这个操作那么引用数据类型customers存的是null
		//无法进行添加客户的操作,会造成空指针异常
		customers = new Customer[10];
	}
	
	//方法
	//添加客户,每次添加一个客户,当前用户就加一
	public void addCostomer(String f,String l) {
		Customer cust = new Customer(f,l);
		customers[numberOfCustomers] = cust;
		numberOfCustomers ++;
	}
	
	//获取客户个数
	public int getNumberOfCustomers() {
		return this.numberOfCustomers;
	}
	
	//放回指定客户的信息
	public Customer getCustomer(int index) {
		if(index >= 0 && index < numberOfCustomers) {
			return customers[index];
		}
		return null;
	}
}

BankText类源码:

/*
 *  	1.类的对象才能够调用该方法
 * 		2.当一个A类的对象a调用某一个方法的返回值是类B,则这个整体"a.方法名"就是类B的一个对象
 * 		  可以调用类B中的方法
 *		3.可以用匿名对象简化过程
 *
 */		
public class BankText {
	public static void main(String[] args) {
		//测试一:添加一个名字叫张三的用户,给他的用户设置余额为2000,存钱200,取钱600;
		
		//方法一:
		
	/*	Bank bank = new Bank();//先创建一个Bank的对象
		
		bank.addCostomer("张", "三");//通过Bank对象调用addCostomer方法添加张三用户,标记为customer[0]
		
		Account account = new Account(2000);//给张三设置一个账号,设置的时候余额为2000
		
		//通过bank.getCustomer(0)找到张三客户,即bank.getCustomer(0)是Customer的一个对象!!
		//可以调用其中的方法
		bank.getCustomer(0).setAccount(account);
		bank.getCustomer(0).getAccount().deposit(200);
		bank.getCustomer(0).getAccount().withDraw(600);
		
		//显示一下
		double balance = bank.getCustomer(0).getAccount().getBalance();
		System.out.println("余额为" + balance);
	*/	
		
		//方法二;匿名对象创建空间
		//创建Bank对象
		Bank bank = new Bank();
		//通过Bank对象创建客户
		bank.addCostomer("张", "三");
		//创建客户的账号,并且赋值2000
		bank.getCustomer(0).setAccount(new Account(2000));
		//bank.getCustomer(0).getAccount()整体是Account的对象可以调用其中的方法
		//存钱
		bank.getCustomer(0).getAccount().deposit(200);
		//取钱
		bank.getCustomer(0).getAccount().withDraw(600);
		//显示余额
		double balance = bank.getCustomer(0).getAccount().getBalance();
		//输出
		System.out.println(bank.getCustomer(0).getFirstName() + bank.getCustomer(0).getListName()
				+ "客户余额为:" + balance + "元");
		
	}
}

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

北酥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值