zoukankan      html  css  js  c++  java
  • 第十次作业-找回感觉的练习

    一、题目

    贷款购买房屋时,支付首付款是一种功能操作,定义在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%)。

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

    二、代码

    1.Test.java

    import java.util.Scanner;
    /**
     * 创建住宅产权房屋对象,完成住宅产权房屋首付款的计算。
     * 再将定义商业产权房屋对象传递给Payment接口对象,
     * 之后利用接口回调完成商业产权房屋首付款的计算。
     * @author X1393
     */
    public class Test {
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) 
    	{
    		// TODO Auto-generated method stub
    		Residence R = new Residence(); 	//定义对象
    		Payment C =new Commercial(); 	//定义接口对象引用Commercial
    		Scanner reader = new Scanner(System.in);
    		System.out.println("请输入房屋的总面积");
    		double S = reader.nextDouble();
    		System.out.println("请输入房屋每平方米的价格");
    		double P = reader.nextDouble();
    		System.out.println("住宅产权房屋的首付:"+R.downPay(S, P));
    		System.out.println("商业产权房屋的首付:"+C.downPay(S, P));
    	
    	}
    
    }
    

    2.Commercial.java

    /**
     * Payment接口的非抽象使用类——Commercial类
     * 重写求首付方法
     * @author X1393
     *
     */
    public class Commercial implements Payment{
    
    	@Override
    	public double downPay(double price, double area) { //重写方法
    		// TODO Auto-generated method stub
    		return price*area*0.45;
    	}
    
    }
    

    3.Residence.java

    /**
     * 定义一个Payment接口的非抽象使用类——Residence类
     * 重写求首付方法
     * @author X1393
     *
     */
    public class Residence implements Payment{
    
    	@Override
    	public double downPay(double price, double area) {  //重写方法
    		// TODO Auto-generated method stub
    		return price*area*0.2;
    	}
    
    }
    

    4.Payment.java

    /**
     * 创建接口包含计算首付的方法payment
     * @author X1393
     *
     */
    public interface Payment {
    	double downPay(double price,double area);
    }
    

    三、运行结果

  • 相关阅读:
    推荐一个网站设计方面的好网站
    验证错误时,让控件自动得到焦点
    VS中改变WebForm或WinFrom的默认视图
    页面回发时,如何保持ScrollBar的位置
    GridView中模板列的排序问题
    php中'mysqli not found'错误的解决方法
    使用ASP.NET 2.0 输出缓存替换的功能实现Donut Caching
    VS2005中自定义“在文件中查找”返回结果的样式
    document.getElementById("").style和$("").css(name,value)方法的区别?
    利用DebuggerDisplay特性得到更好的Debug体验
  • 原文地址:https://www.cnblogs.com/Xwwg/p/11804487.html
Copyright © 2011-2022 走看看