zoukankan      html  css  js  c++  java
  • 第10次作业

    题目1:

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

    共有一个接口和三个类:

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

    1.业务接口

    业务接口包括:

    (1)两个数据域(成员变量)

    RATIO: double型,代表房屋中介收取的中介费用占房屋标价的比例,初值为0.022

    TAX:double型,代表购房需要交纳的契税费用占房屋标价的比例,初值为0.03

    (2)一个方法

    void buying (double price):price表示房屋总价

    2.购房者类

    购房者类Buyer是业务接口Business的非抽象使用类,包括:

    (1)一个成员变量

    name:String型,表示购房者姓名

    (2)一个方法:

    public void buying (double price):显示输出购买一套标价为price元的住宅

    3.中介类

    中介类Intermediary是业务接口Business的非抽象使用类,包括:

    • 一个成员变量

    buyer:Buyer型,代表房屋中介接待的购房对象

    • 三个方法

    Intermediary(Buyer buyer):构造方法

    public void buying (double price):购房者buyer购买一套标价为price元的住宅,之后计算需要支付的中介费和交纳的契税

    public void charing(double price):表示计算购买标价为price元的住宅时,房屋中介需要收取的中介费和需要交纳的契税(中介费计算公式:房屋标价* RATIO,契税计算公式:房屋标价*TAX)

    4.Test类

    在Test类中定义购房对象——姓名Lisa,从控制台输入她计划买的房屋标价,如650000元。请你通过上面定义的接口和类,实现她通过中介买房的过程,显示需交纳的中介费和契税。

    代码:

    Business接口

    /*创建Business接口,定义ratio和tax并赋储值*/
    package edu.ccut.po;
    
    public interface Business {
         double ratio= 0.022;
         double tax = 0.03;
         void buying (double price);
    }

    Buyer类:

    /*定义Buyer类继承Business接口*/
    package edu.ccut.po;
    
    public class Buyer implements Business {
        String name;
        public void buying(double price){
            System.out.println(name+"购买房屋价格为"+price);
        }
    }

    Intermediary类:

    /*定义Intermediary类继承Business接口,重写buying方法,并在charing方法中计算中介费和契税*/
    package edu.ccut.po;
    
    public class Intermediary implements Business {
        Buyer buyer;
        Intermediary(Buyer buyer){
            this.buyer=buyer;
        }
        public void buying (double price){
            
        }
        public void charing(double price){
            System.out.println("购房者"+buyer.name+"购买一套标价为"+price+"元的住宅,需要支付的中介费为"+price*ratio);
            System.out.println("购房者"+buyer.name+"购买一套标价为"+price+"元的住宅,需要交纳的契税为"+price*tax);
        }
    }

    Text类:

    /*创建buyer对象并赋值,创建Intermediary对象并调用intermediary.charing方法*/
    package edu.ccut.po;
    import java.util.*;
    
    public class Text {
        public static void main(String[] args) {
            Buyer buyer=new Buyer();
            buyer.name="Lisa";
            System.out.println("请输入购买房屋的标价");
            Scanner input=new Scanner(System.in);
            double price=input.nextDouble();
            buyer.buying(price);
            Intermediary intermediary = new Intermediary(buyer);
            intermediary.charing(price);
        }
    
    }

    运行结果:

    题目2:

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

     代码:

    自定义异常类MyException:

    /*自定义MyException异常类,重写toString方法*/
    package edu.ccut;
    
    public class MyException extends Exception {
        private double number;
        MyException(double a){
            number=a;
        }
        public String toString(){
            return"输入成绩异常"+number+"不在0-100的范围内";
        }
    }

    Text类:

    /*声明异常,抛出自定义异常,如果输入成绩不在1-100之间则抛出异常*/
    package edu.ccut;
    import java.util.*;
    
    public class Text {
        static void makeExpect(double a)throws MyException{
            if(a<0||a>100)
                throw new MyException(a);
        }
        public static void main(String args[]){
            double sum=0;
            Scanner input=new Scanner(System.in);
            try{
                for(int i=1;i<6;i++){
                    System.out.println("请输入学生成绩");
                    double n=input.nextDouble();
                    makeExpect(n);
                    sum+=n;
                }
                System.out.println("平均成绩为"+sum/5);
            }catch(MyException e){
                System.out.println(e);
            }
        }
    }

    运行结果:

    ①正常执行:

    ②输入负数:

    ③输入大于100的数:

  • 相关阅读:
    (三十四)在所有的添加方法上记录一下(添加操作)
    (三十三)订单管理-修改订单状态
    (三十二)订单管理-查询订单详情
    (三十一)订单管理-查询订单
    (三十)商品管理-添加商品(上传图片)
    1.python的安装
    require(): open_basedir restriction in effect. File(/www/wwwroot/xcx/zerg/thinkphp/start.php) is not within the allowed path(s): (/www/wwwroot/xcx/zerg/public/:/tmp/:/proc/) in /www/wwwroot/xcx/zerg/p
    phpstorm-xdebug的安装
    swoole在线聊天学习笔记
    18.swoole学习笔记--案例
  • 原文地址:https://www.cnblogs.com/lz150520/p/11853829.html
Copyright © 2011-2022 走看看