计算圆的面积,其中PI取3.14,圆半径为负数时应抛出异常,输出相应提示。根据提供的主类信息,编写Circle类和CircleException类,以及在相关方法中抛出异常。

函数接口定义:

裁判测试程序:

在这里给出主类
import java.util.*;
public class Main {

public static void main(String[] args) {
        double s=0;
        Scanner sc=new Scanner(System.in);
        double r1,r2;
        r1=sc.nextDouble();
        r2=sc.nextDouble();
        Circle c1=new Circle(r1);
        Circle c2=new Circle(r2);
        try{
        s = c1.area();
        System.out.println(s);
        s = c2.area();
        System.out.println(s);
        }
        catch (CircleException e){
            e.print();
        }
   }
}

/* 请在这里填写答案 编写Circle 和CircleException类*/

输入样例:

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

3.5 -3.5

输出样例:

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

38.465
圆半径为-3.5不合理

由于程序在try语句中会调用area()方法,所以我们可以在Circle类中的area()方法中加上判断半径r是否会产生异常,如果圆的半径小于零,就说明产生了异常,这时我们手动创建一个异常对象(一般的,SUN公司自己的异常类,当产生异常时,会自动创建一个异常对象),并将异常对象抛出(这里处理异常有两种方法,抛出异常和利用try..catch语句抓住异常,这里我选择的是抛出异常),throw e;语句即为抛出语句,由于area()方法在声明时后面有throws CircleException语句(抛出CircleException异常),所以说明我们将异常抛给了调用area()方法的地方(即主方法中),调用的地方选择用tyr..catch语句来处理异常,所以catch语句中调用print()方法,来处理异常。

class Circle{double r;Circle(double r) {this.r = r;}public double area() throws CircleException{if(r<0){//判断异常是否会产生CircleException e = new CircleException(r);//在创建对象时将半径赋值给CircleException对象throw e;//抛出异常}return 3.14*r*r;}
}
class CircleException extends Exception {double r;CircleException(double r){//有参数的构造方法this.r = r;}public void print () {//被调用的print语句System.out.println("圆半径为"+r+"不合理");}
}

 异常处理最近才学习,讲解的不是很清楚,望采纳。

求圆面积自定义异常类相关推荐

  1. 6-2 求圆面积自定义异常类 (15分)

    计算圆的面积,其中PI取3.14,圆半径为负数时应抛出异常,输出相应提示.根据提供的主类信息,编写Circle类和CircleException类,以及在相关方法中抛出异常. 函数接口定义: 裁判测试 ...

  2. Java求圆面积自定义异常类

    计算圆的面积,其中PI取3.14,圆半径为负数时应抛出异常,输出相应提示.根据提供的主类信息,编写Circle类和CircleException类,以及在相关方法中抛出异常. 函数接口定义: 裁判测试 ...

  3. python自定义异常类一般继承于_自定义异常类一般继承自_______或其子类。

    [填空题]Python语句print('%d%%%d'%(3/2, 3%2))的运行结果是( 1 ). [填空题]自定义异常类一般继承自_______或其子类. [填空题]Python语句" ...

  4. java输入字符串异常_设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。...

    设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为"XYZ",则抛出一个异常信息"This is a XYZ",如果从命令 ...

  5. 自定义异常类: 运行期间跟编译期间的区别

    1.自定义异常一: 继承RuntmeExcepyion,即运行期间异常;         由于我们自定义的是运行期间的异常,我们抛出异常,程序始终不作处理,程序编译的时候不会报错,但是运行的时候会报错 ...

  6. java+自定义异常类+输入若干成绩 为负数时输出抛出异常_java+自定义异常类+输入若干成绩 为...

    java+自定义异常类+输入若干成绩 为 [2021-02-10 19:00:54]  简介: java中定义类的关键字是:"class".在Java中定义一个类,需要使用&quo ...

  7. Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常

    Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并处理异常 参考文章: (1)Java继承Exception自定义异常类教程以及Javaweb中用Filter拦截并 ...

  8. 在你的代码中使用自定义异常类

    在你的代码中使用自定义异常类 参考文章: (1)在你的代码中使用自定义异常类 (2)https://www.cnblogs.com/evens-word/p/7991329.html 备忘一下.

  9. 如何编写和应用Java的自定义异常类

    11.7.1  编写自定义异常类的模式 编写自定义异常类实际上是继承一个API标准异常类,用新定义的异常处理信息覆盖原有信息的过程.常用的编写自定义异常类的模式如下: public class Cus ...

最新文章

  1. call/apply以及this指向的理解
  2. 题解 CF682C 【Alyona and the Tree】
  3. char装cstring_VC中char*转换为CString
  4. 小小在线教授何为BTC跳矿(教授如何在线扩大收益)
  5. bzoj 1109: [POI2007]堆积木Klo(二维偏序)
  6. Python学习(5)——内置函数
  7. 思岚科技A1,A2雷达驱动安装
  8. Android Studio 错误记录:If you already have a 64-bit JDK installed ,defined a JAVA_HOME variable..
  9. DGIOT 工业物联网开源平台简介
  10. Android安全之使用root权限绕过检测机制,强行自动允许应用的悬浮窗/应用后台弹出界面等权限
  11. NVMe Driver 需要装吗_厨房里的油烟很少,需要装油烟净化器吗?装哪种的比较好?...
  12. win10家庭版使用远程桌面方法
  13. cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage
  14. 从0开始学习 GitHub 系列之「04.向GitHub 提交代码」----转载自stormzhang 原创文章
  15. Coursera | Andrew Ng (02-week-1-1.12)—梯度的数值逼近
  16. java 横向 打印出来_在双工模式下使用Java打印横向文档
  17. 培训-从学员的角度思考问题
  18. javascript-arguments.callee的作用
  19. 图层样式之:内发光、外发光
  20. MD5是用来加密的吗?BCrypt又是什么呢

热门文章

  1. jarvis guestbook2 / level6_x64
  2. nowcoder---常州大学新生寒假训练会试----F 大佬的生日礼包(二分)
  3. 塑胶模具2D排位图步骤及注意事项,给新手普及一下
  4. 亚马逊新卖家该如何引流呢?
  5. java15转2进制_Java-Day02,进制转换
  6. AI成“赌王”,8位桥牌冠军被AI打败
  7. 通过Fork项目进行修改编辑并提交
  8. 马走日,起点到终点的最短步数
  9. 局域网无法查看工作组计算机解决方案
  10. K8S部署分布式文件存储minio两种部署方式