练习题:

1.计算圆的面积,半径不能为零和负数

package com.oracle.Demo01;

public class Demo02 {
// 写一个计算圆的面积的方法,传一个半径,返回面积
public static void main(String[] args) {
double s=0;
s = area(-4);
System.out.println(s);
}
public static double area(double r){
try {
if(r<=0){
throw new RuntimeException(); //RuntimeException 运行异常,不会声明,不会处理异常,直接报错并且停止
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
double s=Math.PI*r*r;
return s;
}
}

 2.求平均数,参数不能为负数

package com.oracle.Demo01;

import java.util.Scanner;

public class Demo03 {
//现在要创建一个检测负数的异常类,如果是正数,则抛出异常
public static void main(String[] args){
/*double s=0;
s = area(9);
System.out.println(s);*/
//输入任意参数,求平均数
double s=avg(1,9,6,5,2);
System.out.println(s);
}
public static double area(double r){
if(r<=0){
throw new FuShuException("你传了一个负数"); //报异常并传递自定义的字符串
}
double s=Math.PI*r*r;
return s;
}
//求平均数的方法
public static double avg(double...arr){
double sum=0;
for(double i:arr){
if(i<0){
throw new FuShuException("参数为负数");
}
sum=sum+i;
}
return sum/arr.length;
}
}

自定义FuShuExecption类:

package com.oracle.Demo01;
//自定义类异常,继承自运行异常
public class FuShuException extends RuntimeException {
FuShuException(String mes){
super(mes);
}
}

 3.检测年龄不能为负数和大于200岁

测试类:

package com.oracle.Demo01;

public class Demo04 {
public static void main(String[] args) throws NoAgesException {
method("阿易",110);
}
public static void method(String name,int age) throws NoAgesException{
Person p=new Person(name,age);
if(p.getAge()<0||p.getAge()>200){
throw new NoAgesException("年龄数值非法");
}
System.out.println(p.getName()+"..."+p.getAge());
}
}

 Person类:

package com.oracle.Demo01;

public class Person {
private String name;
private int age;
Person(){ }
Person(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
} }

 自定义NoAgeExecption类:

package com.oracle.Demo01;

public class  NoAgesException extends Exception {
NoAgesException(){ //声明父类的异常方法
super();
}
NoAgesException(String mes){
super(mes);
} }

Java学习(异常类练习题)的更多相关文章

  1. Java学习-023-Properties 类 XML 配置文件读取及写入源代码

    之前的几篇 Properties 文章已经讲述过了 Java 配置文件类 Properties 的基本用法,查看 JDK 的帮助文档时,也可看到在 Properties 类中还有两个方法 loadFr ...

  2. Java学习——BigInteger类和BigDecimal类

    Java学习——BigInteger类和BigDecimal类 摘要:本文主要学习了用于大数字运算的BigInteger类和BigDecimal类. 部分内容来自以下博客: https://www.c ...

  3. Java学习——枚举类

    Java学习——枚举类 摘要:本文主要介绍了Java的枚举类. 部分内容来自以下博客: https://www.cnblogs.com/sister/p/4700702.html https://bl ...

  4. Java学习——日期类

    Java学习——日期类 摘要:本文主要记录了Java开发中用到的和日期有关的类以及对日期的操作. 部分内容来自以下博客: https://www.cnblogs.com/talk/p/2680591. ...

  5. 初学java之异常类

    //异常类 package st; public class example_1 { public static void main(String args[]) { int n=0,m=0,t=10 ...

  6. java 学习笔记——类之间的关系之封装、继承与多态的详解

    封装 一个封装的简单例子 封装就是把对象的属性(状态)和方法(行为)结合在一起,并尽可能隐蔽对象的内部细节,成为一个不可分割的独立单位(即对象),对外形成一个边界,只保留有限的对外接口使之与外部发生联 ...

  7. [Java学习]面向对象-类的继承;方法覆盖

    一.类的继承 实现方法: public Class SubClass extends SuperClass{ } 继承最基本作用: 代码重用. 继承最重要的作用: 方法可以重写. 关于类的继承: 子类 ...

  8. 【Java】异常类处理层次

    异常处理简介 异常在java的开发中可能没有那么被重视.一般遇到异常,直接上抛,或者随便catch一下处理之后对于程序整体运行也没有什么大的影响.不过在企业级设计开发中,异常的设计与处理的好坏,往往就 ...

  9. JAVA常用异常类

    算数异常类:   ArithmeticExecption 空指针异常类:    NullPointerException 指定类不存在:    ClassNotFoundException 字符串转换 ...

随机推荐

  1. kaggle竞赛

    sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...

  2. Hadoop基础-HDFS分布式文件系统的存储

    Hadoop基础-HDFS分布式文件系统的存储 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS数据块 1>.磁盘中的数据块 每个磁盘都有默认的数据块大小,这个磁盘 ...

  3. 我的Pycharm,我做主

    之间花了一周多的时间把Pycharm官方帮助文档翻译了一遍,一共43篇博客,累得要屎,感悟颇多. 发牢骚之前先总结点干货,这里把所有的翻译文档列成如下目录,方便大家索引: 最全Pycharm教程(1) ...

  4. Shell记录-Shell命令(文件查找)

    常见解压/压缩命令 tar文件格式解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) .gz文件格式解压1:g ...

  5. call 大佬 三分姿势

    为什么注释掉的三分方式不能过 @大佬 题目来源:http://hihocoder.com/problemset/problem/1142?sid=1003381 貌似不是eps的问题 #include ...

  6. 动态规划:树形DP-景点中心(树的带权重心)

    话说宁波市的中小学生在镇海中学参加计算机程序设计比赛,比赛之余,他们在镇海中学的各个景点参观.镇海中学共有n个景点,每个景点均有若干学生正在参 观.这n个景点以自然数1至n编号,每两个景点的编号均不同 ...

  7. Django 2.0.1 官方文档翻译: 编写你的第一个 Django app,第二部分(Page 7)

    编写你的第一个 Django app,第二部分(Page 7)转载请注明链接地址 本教程上接前面的教程.我们会配置数据,创建你的第一个 model,并对Django 自动生成的 admin 站点进行快 ...

  8. hive介绍

    我最近研究了hive的相关技术,有点心得,这里和大家分享下. 首先我们要知道hive到底是做什么的.下面这几段文字很好的描述了hive的特性: 1.hive是基于Hadoop的一个数据仓库工具,可以将 ...

  9. 【整理】HTML5游戏开发学习笔记(1)- 骰子游戏

    <HTML5游戏开发>,该书出版于2011年,似乎有些老,可对于我这样没有开发过游戏的人来说,却比较有吸引力,选择自己感兴趣的方向来学习html5,css3,相信会事半功倍.不过值得注意的 ...

  10. (转)Oracle 字符集的查看和修改

    一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库 ...