第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);
	}
}

}

三、运行结果

原文地址:https://www.cnblogs.com/Xwwg/p/11848252.html