Hastily 2021-06-21 22:34 采纳率: 50%
浏览 925
已采纳

定义 Circle 类,包含成员变量半径 r 和计算面积的方法 getArea()自定义异常类.

定义 Circle 类,包含成员变量半径 r 和计算面积的方法 getArea()。自定义异常类, 当半径小于等于 0 的时候抛出异常,计算圆面积,如有异常输出异常信息。

  • 写回答

1条回答 默认 最新

  • 小P聊技术 2021-06-21 22:38
    关注
    /**
    *需求:定义一个circle类,其中包括计算圆面积和圆周长的方法,若输入的半径小于0,则抛出一个自定义异常。
    */
    class lenghException extends Exception
    {
    	private double value;
    	lenghException(String msg,double value)
    	{
    		super(msg);
    		this.value=value;
    	}
    	public double getValue()
    	{
    		return value;
    	}
    }
    class circle
    {
    	private double r;
    	static final double PI=3.14;
    	public void setR(double r)throws lenghException
    	{
    		if (r<0)
    			throw new lenghException("出现了半径为负数的情况,你的半径不能为负数",r);
    		this.r=r;
    			
    	}
    	public void getarea()
    	{
    		System.out.println(r*r*PI); 
    	}
    	public void getlengh()
    	{
    		System.out.println(2*r*PI);
    	}
    }
    public class CircleExceptionDemo 
    {
    	public static void main(String[] args)throws lenghException
    	{
    		circle circle = new circle();
    		try
    		{
    				circle.setR(5);
    				circle.getarea();
    				circle.getlengh();
    		}
    		catch(lenghException e)
    		{
    			System.out.println(e.toString());
    			System.out.println("错误的数是:"+e.getValue());
    		}
    		circle circle2= new circle();
    		try
    		{
    				circle2.setR(-2);
    				circle2.getarea();
    				circle2.getlengh();
    		}
    		catch(lenghException e)
    		{
    			System.out.println(e.toString());
    			System.out.println("错误的数是:"+e.getValue());
    		}
    	}
     
    }

    输出结果如下:

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料