🏔题目:
编写一个应用程序,利用代理模式,模拟中介和购房者完成房屋购买过程。
共有一个接口和三个类:
- Business —— 业务接口
- Buyer —— 购房者类
- Intermediary —— 中介类
- Test —— 主类
🐒1.业务接口
业务接口包括:
(1)两个数据域(成员变量)
RATIO: double型,代表房屋中介收取的中介费用占房屋标价的比例,初值为0.022
TAX:double型,代表购房需要交纳的契税费用占房屋标价的比例,初值为0.03
(2)一个方法
void buying (double price):price表示房屋总价
package seven_topic; interface Business { double RATIO = 0.022;// double TAX = 0.03;// void buying(double price);// 接口方法 }
🐒2.购房者类
购房者类Buyer是业务接口Business的非抽象使用类,包括:
(1)一个成员变量
name:String型,表示购房者姓名
(2)一个方法:
public void buying (double price):显示输出购买一套标价为price元的住宅。
class Buyer implements Business { String name;// name:String型,表示购房者姓名 public void buying(double price) { // public void buying (double price):显示输出购买一套标价为price元的住宅 System.out.println(name + "购买了一套总价为" + price + "元的住宅。"); } }
🐒3.中介类
中介类Intermediary是业务接口Business的非抽象使用类,包括:
一个成员变量
buyer:Buyer型,代表房屋中介接待的购房对象
三个方法
Intermediary(Buyer buyer):构造方法
public void buying (double price):购房者buyer购买一套标价为price元的住宅,之后计算需要支付的中介费和交纳的契税
public void charing(double price):表示计算购买标价为price元的住宅时,房屋中介需要收取的中介费和需要交纳的契税(中介费计算公式:房屋标价*RATIO,契税计算公式:房屋标价*TAX)
class Intermediary implements Business { Buyer buyer;// buyer:Buyer型,代表房屋中介接待的购房对象 Intermediary(Buyer buyer) { // Intermediary(Buyer buyer):构造方法 this.buyer = buyer;// } public void buying(double price) { // public void buying (double price):购房者buyer购买一套标价为price元的住宅,之后计算需要支付的中介费和交纳的契税 System.out.println("中介公司收取中介费用: " + price * RATIO + "元。"); } public void charing(double price) { // public void charing(double price):表示计算购买标价为price元的住宅时,房屋中介需要收取的中介费和需要交纳的契税 System.out.println("需要交的契税" + price * TAX + "元。"); } }
🐒4.Test类
在Test类中定义购房对象——姓名Lisa,从控制台输入她计划买的房屋标价,如650000元。请你通过上面定义的接口和类,实现她通过中介买房的过程,显示需交纳的中介费和契税。如下图3所示:
import java.util.*; class Test { public static void main(String[] args) { Buyer s1 = new Buyer(); s1.name = "lisa"; // 在Test类中定义购房对象——姓名Lisa System.out.println("请输入要购买的房屋标价: "); @SuppressWarnings("resource") Scanner input = new Scanner(System.in); double price = input.nextDouble(); // 从控制台输入她计划买的房屋标价,如650000元。 s1.buying(price);// Buyer Intermediary intermediary = new Intermediary(s1); intermediary.buying(price);// Intermediary intermediary.charing(price); } }
以上就是此次作业的全部内容了,如果发现了其中的问题或不足,请直接指出🙂
2022.5.14☀