Java學習(異常類練習題)

來源:互聯網
上載者:User

標籤:import   etag   停止   exec   method   返回   main   package   ace   

 練習題:

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學習(異常類練習題)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.