Java 第十次作业

 题目1:计算通过中介买房的过程,需交纳的中介费和契税。

 代码

/**

Business接口中: 两个成员变量RATIO,TAX分别代表房屋中介收取的中介费用占房屋标价的比例及购房需要交纳的契税费用占房屋标价的比例;一个 buying (double price)方法,price表示房屋总价。

购房者Buyer类中:一个成员变量name表示购房者姓名;一个 buying (double price)方法。

中介Intermediary类中:一个成员变量buyer,代表购房对象;一个Intermediary(Buyer buyer)构造方法;一个buying (double price)方法;一个charing(double price)方法:输出计算购买标价为price元的住宅时,房屋中介需要收取的中介费和需要交纳的契税。

Test主类中,定义购房对象Lisa,创建Intermediary类的对象。调用charing方法,计算并输出相关费用。

*/

Business接口

package ccut;

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

Buyer类

package ccut;

public class Buyer implements Business {
    String name;
    
    public void buying(double price) {
    System.out.println(name+"购买一套标价为"+price+"元的住宅");

    }

}

Intermediary类

package ccut;

public class Intermediary implements Business {
    Buyer buyer;
    Intermediary(Buyer buyer){}
    public void buying(double price) {
        
    }
    public void charing(double price){
        System.out.println("房屋中介需要收取的中介费"+price*RATIO);
        System.out.println("需要交纳的契税"+price*TAX);
    }
}

Test主类

package ccut;
import java.util.*;
public class Test {

    public static void main(String[] args) {
        Buyer buyer=new Buyer();
        buyer.name="Lisa";
        Scanner r=new Scanner(System.in);
        System.out.println("计划买的房屋标价为:");
        int price=r.nextInt();
         buyer.buying(price);
            Intermediary i=new Intermediary(buyer);
            i.charing(price);

    }

}

运行截图

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

/**定义一个异常类myexception继承Exception类,重写public String toString()方法;

设定条件成绩为负数或大于100时,完成异常对象的抛出。

写入for 循环 ,输入5个成绩。

定义average变量,作为平均成绩输出。

*/

代码

import java.util.*;

class myexception extends Exception{
    int grade;
    public myexception(int a){
        grade=a;
    }
    public String toString(){
        return "自定义异常["+grade+"]";
    }
}
public class ZiDingYi {
 static void makeException()throws myexception{
     int grade; 
     int average=0;
     Scanner r= new Scanner(System.in);
    for(int i=1;i<=5;i++)    {
     System.out.println("输入成绩");
     grade =r.nextInt();
     average+=grade;
     if(grade>100||grade<0)
         throw new myexception(grade);
        System.out.println("没有捕获到异常");
        }
    
    System.out.println("平均成绩:"+average/5);
 }
    public static void main(String[] args) {
    try{
            makeException();
        }
        catch(myexception e){
            System.out.println("捕获"+e);
        }
        
    }

}

运行截图

 

原文地址:https://www.cnblogs.com/shanshan3/p/11850553.html