• 第10次作业


    题目1

    一、

    编写一个应用程序,模拟中介和购房者完成房屋购买过程。

    共有一个接口和三个类:

    • Business—— 业务接口
    • Buyer —— 购房者类
    • Intermediary—— 中介类
    • Test —— 主类

    二、代码

    1.Business.java

    /**
    业务接口包括:
    两个成员变量
    RATIO: double型代表房屋中介收取的中介费用占房屋标价的比例,初值为0.022
    TAX:double型代表购房需要交纳的契税费用占房屋标价的比例,初值为0.03
    一个方法表示房屋总价
     * @author X1393
     */
    public interface Business {
    	double RATIO=0.022;
    	double TAX=0.03;
    	void buying (double price);
    }
    

    2.Buyer.java

    /**
     *  * 购房者类Buyer是业务接口Business的非抽象使用类,包括:
    一个成员变量表示购房者姓名
    一个方法:显示输出购买一套标价为price元的住宅
     * @author X1393
     *
     */
    public class Buyer implements Business {
    	String name;
        Buyer (String name){
            this.name=name;
        }
    	public void buying (double price){
    		System.out.println("一套住宅的标价为"+price);
    	}
    }
    

    3.Intermediary.java

    /**
    中介类Intermediary是业务接口Business的非抽象使用类,包括:
    一个成员变量代表房屋中介接待的购房对象
    三个方法
    构造方法
    buying 购房者buyer购买一套标价为price元的住宅,之后计算需要支付的中介费和交纳的契税
    charing表示计算购买标价为price元的住宅时,房屋中介需要收取的中介费和需要交纳的契税
     *
     */
    public class Intermediary implements Business{
    	Buyer buyer;
    	Intermediary(Buyer buyer){
    		this.buyer=buyer;
    	}
    	public void buying(double price) {
    		// TODO Auto-generated method stub
    		System.out.println(buyer.name+"所需要支付的中介费"+price*Business.RATIO+"和交纳的契税"+price*Business.TAX);
    	}
    	public void charing(double price){
    		System.out.println("房屋中介所需要收取的中介费"+price*Business.RATIO+"和交纳的契税"+price*Business.TAX);
    	}
    
    }
    

    4.Test.java

    /**
     * Test主类中包含主方法
     * 创建Intermediary类对象和Buyer类对象
     * 调用方法显示需交纳的中介费和契税。
     */
    import java.util.Scanner;
    public class Test {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println("请输入房屋的价格");
    		Scanner reader = new Scanner(System.in);
    		double price=reader.nextDouble();
    		Buyer buyer=new Buyer("lisa");   
            Intermediary A=new Intermediary(buyer); //创建对象
            buyer.buying(price);   
            A.buying(price);
            A.charing(price);
    
    	}
    
    }
    

    三、运行结果

    题目2

    一、输入5个数,代表学生成绩,计算其平均成绩。当输入值为负数或大于100时,通过自定义异常处理进行提示。

    二、代码

    1.MyExcept.java

    /**
     * @author X1393
     *创建自定义异常MyExcept类继承Exception类
     *包含构造方法
     *返回自定义异常的描述信息
     */
    public class MyExcept extends Exception {
    	private int exceptnumber;
    	public MyExcept(int a) {
    		// TODO Auto-generated constructor stub
    		exceptnumber=a;
    	}
    	public String toString(){
    		return "数据异常";   //自定义异常的描述信息
    	}
    
    }
    

    2.TEST.java

    /**
     * 创建主类包含
     * 自定义异常的声明
     * 计算平均成绩的主方法
     * 异常处理try
     * 捕获异常catch
     */
    import java.util.Scanner;
    public class TEST {
    	static void makeExcept(int a)throws MyExcept{   //声明异常
    		if(a<0||a>100)
    			throw new MyExcept(a);   //抛出自定义异常MyExcept
    	}
    
    public static void main(String[] args)
    {
    		// TODO Auto-generated method stub
    	int sum=0;
    	int average;
    	try
    	{
    			for(int i=0;i<=5;i++)
    			{
    			Scanner reader = new Scanner(System.in);
    			int a=reader.nextInt();
    			makeExcept(a);
    			sum+=a;
    			}
    			average = sum / 5;
    			System.out.println("平均成绩为"+average);
    	}
    	catch(MyExcept e)			//捕获自定义异常MyExcept
    	{
    		System.out.println(e);
    	}
    }
    
    }
    

    三、运行结果

  • 相关阅读:
    双屏显示器
    Cheat Engine Tutorial v3翻译Cheat Engine 6.1 tutorial(3)
    [转]VC6创建UNICODE版Windows程序
    fread
    [转]回调函数在MFC中的使用
    [转]C++ 虚函数表解析
    [转]C/C++返回内部静态成员的陷阱
    [转]EVC 中 include 的错误
    【rgw压缩】
    【ceph | 运维】rgw重置
  • 原文地址:https://www.cnblogs.com/Xwwg/p/11848252.html
Copyright © 2020-2023  润新知