PTA java 异常:圆半径不能为负数

这是函数题模板。这里写题目要求。计算圆的面积,其中PAI取3.14,圆半径为负数时应抛出异常,输出相应提示。

函数接口定义:

裁判测试程序样例:

在这里给出函数被调用进行测试的例子。例如:
import java.util.Scanner;
public class Main {
       public static void main(String args[ ]) {
           double s=0;
           Scanner sr=new Scanner(System.in);
           double r=sr.nextDouble();
           sr.close();
           try{
               Circle c1=new Circle(r);       
               s = c1.area();
               System.out.printf("%.1f",s);
           }
           catch (NumRangeException e){
               e.print();
           }
        }
    }

/* 请在这里填写答案 */

输入样例:

在这里给出一组输入。例如:

输出样例:

在这里给出相应的输出。例如:

错误:圆半径-3.0为负数

 思路:

编写出Circle类,和自定义的NumRangeException异常类。主要完成double area() throws NumRangeException方法。

 直接上代码:

class Circle{
    double r;
    
    Circle(){
        
    }
    
    Circle(double R){
        r=R;
    }
    
    double area() throws NumRangeException{//这个方法可能抛出异常,需要用关键字throws,加上异常类型
        if(r<0)
            throw new NumRangeException(r);//半径为负数抛出异常
        else
            return r*r*3.14;
    }
} 

class NumRangeException extends Exception{//自定义异常类
    double r;
    NumRangeException(){
        
    }
    NumRangeException(double r){//构造方法
        this.r=r;
    }
    
    void print(){
        System.out.printf("错误:圆半径%.1f为负数",r);
    }
}
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值