• 找回感觉之模拟房地产首付计算


    题目:

     贷款购买房屋时,支付首付款是一种功能操作,定义在Payment接口中。住宅产权房屋类和商业产权房屋类均具有支付首付款的功能。依据以上内容,创建一个接口和两个类:

    (1)接口Payment,包含:

    • double downPay(double price,double area):一个计算房屋首付款的方法,参数price代表房屋每平方米的价格,area代表房屋的总平方数,即面积。

    (2) Payment接口的非抽象使用类——Residence类(住宅产权房屋类),包含:

    • double downPay(double price,double area):重写计算房屋首付款的方法,并将结果返回(住宅产权房屋的首付比例为总房款的20%)。

    (3) Payment接口的非抽象使用类——Commercial类(商业产权房屋类),包含:

    • double downPay(double price,double area):重写计算房屋首付款的方法,并将结果返回(商业产权房屋的首付比例为总房款的45%)。

          在主类RealEstate中,创建住宅产权房屋对象,完成住宅产权房屋首付款的计算。再将定义商业产权房屋对象传递给Payment接口对象,之后利用接口回调完成商业产权房屋首付款的计算。输入测试数据,完成结果的输出。

    1.接口类

    interface Payment{ //定义接口
    double downPay(double price,double area);
    }

    2.住宅产权房屋类

    复制代码

    class Residence implements Payment{ //定义住宅房类
    public double downPay(double price,double area) {
    return price*area*0.2;
    }
    }

    复制代码

    3.商业产权房屋类

    复制代码

    class Commercial implements Payment{ //定义商品房类
    public double downPay(double price,double area) {
    return price*area*0.45;
    }
    }

    复制代码

    4.定义房屋类

    复制代码

    class House{ //定义房屋类
    double house(Payment pa,double price,double area) {
    return pa.downPay(price, area);
    }
    }

    复制代码

     

    4.主类

    复制代码

    public class RealEstate {
    public static void main(String[]args) { //主类
    House h=new House();
    int price=10000,area=140;
    System.out.println("住宅房的首付款为:"+h.house(new Residence(), price,area));
    System.out.println("商品房的首付款为:"+h.house(new Commercial(), price,area));
    }
    }

    复制代码

    运行结果

  • 相关阅读:
    linux中文字体
    连接数据库服务器端的几个常见错误
    分布式部署下的报表调用 API调用 权限问题以及性能方案
    报表在IBM AIX系统下resin部署
    ASP.Net与JSP如何共享Session值
    async与await
    从小程序到小程序云开发
    什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?
    微信小程序知识云开发
    变量的解构赋值
  • 原文地址:https://www.cnblogs.com/anemone0919/p/11808619.html
Copyright © 2020-2023  润新知