【题目定义桌子类、圆桌类,在子类圆桌实现了接口CalculateAble的getArea()方法。】

  1. 自定义异常AreaException,表示计算面积出现异常。
  2. 定义接口方法getArea()抛出异常public double getArea() throws AreaException。
  3. 在实现类中具体抛出异常,例如圆桌半径小于0则抛出异常AreaException。
【输入形式】圆桌半径
【输出形式】圆桌面积或者异常
【样例输入】

10

【样例输出】

Area=314.0

【样例输入】

0

【样例输出】

Exception is: AreaException: Round table radius<=0
Area=0.0

import java.util.Scanner;
public class Test{
	public static void main(String [] args){
		Scanner sc = new Scanner(System.in);
		double r = sc.nextDouble();

		RoundTable t1=new RoundTable(3, 100, r);
		System.out.println("Area=" + t1.getArea());

	}
}

interface MoveAble{
	public void move();
}

abstract class TableInfo implements MoveAble{
	int legs;
	int hight;

	public  TableInfo( int legs,int hight){
		this.legs = legs;
		this.hight = hight;
	}

	public void move(){
		System.out.println("被人搬动了!");
	}
}

interface CalculateAble{
	public double getArea();
}

class RoundTable extends TableInfo implements CalculateAble{
	private double r;

	public  RoundTable( int legs,int hight,double r){
		super(legs,hight);
		this.r=r;
	}

    public double getArea(){
         double a=0;
		 try{
			 a=test(r);
		 }
		 catch(AreaException e){
			 System.out.println("Exception is: " + e);
		 }
		 return a;
	}

	private double test(double r) throws AreaException{
		 if (r<=0){
			 throw new AreaException("Round table radius<=0");
         }
		 return 3.14*r*r;
    }
}
class AreaException extends Exception{    // 此异常要强制处理
    public AreaException(String msg) 
    {
        super(msg);   //调用父类构造
    }
}

如果这份代码可以帮到你,代码书写让你明白了这道题目,希望你可以留言或点赞,告诉我你懂了就足够了,我想看到我是否真的帮助到了你,并以此作为我编码是否正确的参考之一,谢谢!最后真心希望你已经可以解决你遇到的问题!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值