Java学习(异常类练习题)

 练习题:

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); } }

 

 

 

 

转载于:https://www.cnblogs.com/0328dongbin/p/9203045.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值