日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaSE各阶段练习题----异常

發(fā)布時間:2024/2/28 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaSE各阶段练习题----异常 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

異常作業(yè):

  • 簡述什么是異常、異常的繼承體系?
  • 異常是程序執(zhí)行期間中斷指令的正常流程的事件。

    異常繼承體系:

    ?

  • 簡述異常的處理方式?
  • 捕獲異常。即使用try-catch-finally
  • 使用throws拋出異常
  • 使用throw拋出異常,(到目前為止的所有異常類對象全部都是JAVA虛擬機自動實例化的,但有時用戶想能親自進行異常類對象的實例化操作,自己手動拋出異常,那么此時需要依靠throw關(guān)鍵詞來完成。)
  • ?

  • throw和throws關(guān)鍵字的使用位置和格式?
  • throw:用于拋出異常類的實例

    throws:用于聲明拋出異常,表示該類不處理,讓方法調(diào)用者處理

    ?

  • 多個catch處理的注意事項?
  • 當你用多catch語句時,記住異常子類必須在它們?nèi)魏胃割愔笆褂檬呛苤匾摹_@是因為運用父類的catch語句將捕獲該類型及其所有子類類型的異常。這樣,如果子類在父類后面,子類將永遠不會到達。

    ?

  • 簡述finally關(guān)鍵字的特點和作用?
  • 在異常處理時提供finally塊來執(zhí)行任何清除操作。如果拋出一個異常,那么相匹配的catch字句就會執(zhí)行,然后控制就會進入到finally塊。

    也就是說不管程序是否發(fā)生異常,還是在try塊和catch塊中使用return語句,finally塊都會執(zhí)行。

    ?

  • Throwable類的常見方法及方法描述?
  • ?

    ?

    8.自定義異常的步驟?

    1.創(chuàng)建自定義異常類并繼承Exception基類,如果自定義Runtime異常,則繼承RuntimeException基類。

    2.在方法中通過throw關(guān)鍵字拋出異常對象

    3.如果在當前拋出異常的方法中處理異常,可以使用try-catch語句捕獲并處理,否則在方法的聲明處通過throws關(guān)鍵字知名要拋出的給方法調(diào)用者的異常,繼續(xù)進行下一步操作。

    4.在出現(xiàn)異常方法的調(diào)用者中捕獲并處理異常

    ?

    ?

    8 首先預(yù)測下列程序的運行結(jié)果,然后編譯、執(zhí)行以驗證你的預(yù)測:

    ?? import java.io.*;

    ? public class C11{

    ???????public static void main(String args[]) {

    ??????????????for(int i = 0; i < 4;i++) {

    ?????????????????????int k;

    ?????????????????????try {

    ???????????????????????????switch( i ) {

    ???????????????????????????????????case 0: ??????

    ??????????????????????????????????????????int zero = 0;

    ??????????????????????????????????????????k = 911 / zero;

    ??????????????????????????????????????????break;

    ???????????????????????????????????case 1: ??????

    ??????????????????????????????????????????int b[ ] = null;

    ??????????????????????????????????????????k = b[0];

    ??????????????????????????????????????????break;

    ???????????????????????????????????case 2: ?????

    ??????????????????????????????????????????int c[ ] = new int[2];

    ??????????????????????????????????????????k = c[9];

    ??????????????????????????????????????????break;

    ???????????????????????????????????case 3: ??????

    ??????????????????????????????????????????char ch = "abc".charAt(99);

    ??????????????????????????????????????????break;

    ??????????????????????????????}

    ?????????????????????}catch(Exception e) {

    ????????????????????????????System.out.println("\nTestcase #" + i + "\n");

    ????????????????????????????System.out.println(e);

    ?????????????????}finally?{

    System.out.println("Exception Test Finished!");

    ?}

    ??????????????}

    ???????????}

    }

    (2)將上述程序中catch(Exception e)更改為catch(ArithmeticException e),預(yù)測程序運行的結(jié)果并驗證之。?Testcase #0

    (3)將上述程序中catch(Exception e)更改為catch(NullPointerException e),預(yù)測程序運行的結(jié)果并驗證之。Testcase #0????Testcase #1

    (4)在(3)的程序中添加一些語句,使得程序能夠輸出Exception Test Finished!的信息。(提示:使用finally語句)

    finally?{

    System.out.println("Exception Test Finished!");

    }

    ?

    9 猜數(shù)游戲,隨機生成一個1 到100之間的整數(shù),從鍵盤輸入數(shù)字進行猜數(shù),一共可以猜5次,如果猜小了在控制臺輸出猜小了,如果猜大了,在控制臺輸出猜大了,如果猜

    對了在控制臺輸入 恭喜你猜對了,并結(jié)束游戲。 注意當輸入的不是數(shù)字或數(shù)字不合服規(guī)則時,不算次數(shù)

    package?com.henu;

    ?

    import?java.util.Scanner;

    ?

    public?class?Demo01 {

    ?

    public?static?void?main(String[] args) {

    ?

    Scanner sc?= new?Scanner(System.in);

    boolean?flag?= true;

    int?count?= 0;

    int?y?= (int)(1+Math.random()*100);

    System.out.println(y+"->");

    while?(flag) {

    System.out.println("請輸入你猜到的數(shù)字:");

    String x?= sc.nextLine();

    if?(!x.matches("^([1-9][0-9]{0,1}|100)$")) {

    System.out.println("輸入的不是數(shù)字或數(shù)字不合服規(guī)則,請重新輸入!");

    System.out.println("此次不計次數(shù),請正確輸入!");

    }else?{

    int?z?= Integer.parseInt(x);

    if?(z?> y) {

    System.out.println("猜大了");

    count++;

    System.out.println("你還有"+(5-count)+"次機會");

    flag?= true;

    }else?if?(z?< y) {

    System.out.println("猜小了");

    count++;

    System.out.println("你還有"+(5-count)+"次機會");

    flag?= true;

    }else?{

    System.out.println("猜對了,結(jié)束游戲!");

    flag?= false;

    }

    if?(count?== 5) {

    System.out.println("機會用完了,游戲結(jié)束!");

    }

    }

    ?

    ?

    }

    ?

    ?

    }

    ?

    }

    ?

    ?

    正則作業(yè):

    ?

    課上代碼

    ?

    /*

    ?* 如(010-38389438)

    ?*/

    public?class?Demo04_驗證電話號碼 {

    ?

    public?static?void?main(String[] args) {

    String phoneNumber?= "010-38389438";

    boolean?b?= phoneNumber.matches("\\d{3,4}-\\d{7,8}");

    System.out.println(b);

    }

    ?

    }

    ?

    /*

    ?* 只能是字母開頭的數(shù)字、字母或下劃線的組合

    ?*/

    public?class?Demo06_驗證用戶名 {

    ?

    public?static?void?main(String[] args) {

    ?

    String name?= "abc1314";

    boolean?b?= name.matches("[a-zA-Z]+[\\w|_]*");

    System.out.println(b);

    ?

    }

    ?

    }

    /*

    ?* (192.168.1.1)

    ?*/

    public?class?Demo07_驗證IP地址 {

    ?

    public?static?void?main(String[] args) {

    ?

    String IP?= "192.168.1.1";

    boolean?b?= IP.matches("^((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}$");

    System.out.println(b);

    ?

    }

    ?

    }

    ?

    /*

    ?* http://www.baidu.com

    ?*/

    public?class?Demo08_驗證網(wǎng)址 {

    ?

    public?static?void?main(String[] args) {

    ?

    String url?= "http://www.baidu.com";

    boolean?b?= url.matches("^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]");

    System.out.println(b);

    }

    ?

    }

    /*

    ?* (100以內(nèi))

    ?*/

    public?class?Demo09_驗證年齡 {

    public?static?void?main(String[] args) {

    String str?= "98";

    boolean?b?= str.matches("^(?:[1-9]?\\d|100)$");

    System.out.println(b);

    }

    }

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的JavaSE各阶段练习题----异常的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。