第10次作业

题目1:

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

二 、代码

Business—— 业务接口

package com.hou1113;
/*
 * 业务接口
 */

public interface Business {
double RATIO=0.022;
double TAX=0.03;
 void buying (double price);
}

Buyer —— 购房者类

package com.hou1113;
/**
 * 购房者类Buyer是业务接口Business的非抽象使用类
 * @author ASUS
 *
 */

public class Buyer implements Business{
 String name;//表示购房者姓名
 public Buyer(String name) {
    this.name=name;
}
 public void buying (double price){                         //显示输出购买一套标价为price元的住宅
     System.out.println(name+"购买了一套总价为"+price+"元的住宅");
 } 
}

Intermediary—— 中介类

package com.hou1113;
/**
 * 中介类Intermediary是业务接口Business的非抽象使用类
 * @author ASUS
 *
 */
public class Intermediary implements Business{
    Buyer buyer;
    Intermediary(Buyer buyer)     //构造方法
    {
        this.buyer=buyer;
        
    }
    public void buying (double price){
        buyer.buying(price);
        this.charing(price);
    }
    public void charing(double price){
        System.out.println("中介费为"+price*RATIO);
        System.out.println("契税为"+price*TAX);
    }

}

Main —— 主类

package com.hou1113;
/**
 * 定义购房对象——姓名Lisa
 * 实现她通过中介买房的过程,显示需交纳的中介费和契税。
 */

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
     Buyer buyer =new Buyer("Lisa");
    
     Intermediary intermediary = new Intermediary(buyer);
    Scanner reader = new Scanner(System.in);
    System.out.println("请您输入要购买房屋的价格:");
    double price = reader.nextDouble();
    intermediary.buying(price);
    }

}

三、程序截图

题目2

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

二 、代码

自定义异常

package com.hou1118;
/**
 * 自定义异常
 * @author ASUS
 *
 */
public class MyException extends Exception{

    public String myMessm(){


        return "成绩不能小于零或大于100,请重新输入!";
  }
}

计算类

package com.hou1118;
/**
 * 计算类
 */
import java.util.Scanner;

public class Calculation {

    public int i;

    public void jisuan(){
        Scanner reader = new Scanner(System.in);
        System.out.println("请输入5个数,分别代表学生成绩:");
        int sum=0;
        for(i=0;i<=4;i++){
            int a=reader.nextInt();
            try {
                if(a<0||a>100)
                  throw new MyException();
                sum=sum+a;
                
            } catch (Exception e) {
                System.out.println(((MyException) e).myMessm());
            }
            if(a<0||a>100)
                i--;
        }
        
        int ave=sum/5;
        System.out.println("平均成绩是:"+ave);
          
        }
}

主类

package com.hou1118;
/**
 * 主类
 * @author ASUS
 *
 */

public class Main {

    public static void main(String[] args) {
    	Calculation s1 =new Calculation();
    	s1.jisuan();
       
    }
}

三、程序截图

posted @ 2019-11-18 21:30  侯英龙20194669  阅读(158)  评论(0编辑  收藏  举报