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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义异常类的练习

發布時間:2024/4/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义异常类的练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package com.learn.demo04.MyException;import java.util.Scanner;/*要求:我們模擬注冊操作,如果用戶名已存在,則拋出異常并提示:親,該用戶名已經被注冊。分析:1.使用數組保存已經注冊過的用戶名(數據庫)2.使用Scanner獲取用戶輸入的注冊的用戶名(前端,頁面)3.定義一個方法,對用戶輸入的中注冊的用戶名進行判斷遍歷存儲已經注冊過用戶名的數組,獲取每一個用戶名使用獲取到的用戶名和用戶輸入的用戶名比較true:用戶名已經存在,拋出RegisterException異常,告知用戶"親,該用戶名已經被注冊";false:繼續遍歷比較如果循環結束了,還沒有找到重復的用戶名,提示用戶"恭喜您,注冊成功!";*/ public class Demo01RegisterException {// 1.使用數組保存已經注冊過的用戶名(數據庫)static String[] usernames = {"張三","李四","王五"};public static void main(String[] args) /*throws RegisterException*/ {//2.使用Scanner獲取用戶輸入的注冊的用戶名(前端,頁面)Scanner sc = new Scanner(System.in);System.out.println("請輸入您要注冊的用戶名:");String username = sc.next();checkUsername(username);}//3.定義一個方法,對用戶輸入的中注冊的用戶名進行判斷public static void checkUsername(String username) /*throws RegisterException*/ {//遍歷存儲已經注冊過用戶名的數組,獲取每一個用戶名for (String name : usernames) {//使用獲取到的用戶名和用戶輸入的用戶名比較if(name.equals(username)){//true:用戶名已經存在,拋出RegisterException異常,告知用戶"親,該用戶名已經被注冊";try {throw new RegisterException("親,該用戶名已經被注冊");} catch (RegisterException e) {e.printStackTrace();return; //結束方法}}}//如果循環結束了,還沒有找到重復的用戶名,提示用戶"恭喜您,注冊成功!";System.out.println("恭喜您,注冊成功!");} } package com.learn.demo04.MyException; /*自定義異常類:java提供的異常類,不夠我們使用,需要自己定義一些異常類格式:public class XXXExcepiton extends Exception | RuntimeException{添加一個空參數的構造方法添加一個帶異常信息的構造方法}注意:1.自定義異常類一般都是以Exception結尾,說明該類是一個異常類2.自定義異常類,必須的繼承Exception或者RuntimeException繼承Exception:那么自定義的異常類就是一個編譯期異常,如果方法內部拋出了編譯期異常,就必須處理這個異常,要么throws,要么try...catch繼承RuntimeException:那么自定義的異常類就是一個運行期異常,無需處理,交給虛擬機處理(中斷處理)*/ public class RegisterException extends /*Exception*/ RuntimeException{//添加一個空參數的構造方法public RegisterException(){super();}/*添加一個帶異常信息的構造方法查看源碼發現,所有的異常類都會有一個帶異常信息的構造方法,方法內部會調用父類帶異常信息的構造方法,讓父類來處理這個異常信息*/public RegisterException(String message){super(message);} } package com.learn.demo04.MyException;import java.util.Scanner;/*要求:我們模擬注冊操作,如果用戶名已存在,則拋出異常并提示:親,該用戶名已經被注冊。分析:1.使用數組保存已經注冊過的用戶名(數據庫)2.使用Scanner獲取用戶輸入的注冊的用戶名(前端,頁面)3.定義一個方法,對用戶輸入的中注冊的用戶名進行判斷遍歷存儲已經注冊過用戶名的數組,獲取每一個用戶名使用獲取到的用戶名和用戶輸入的用戶名比較true:用戶名已經存在,拋出RegisterException異常,告知用戶"親,該用戶名已經被注冊";false:繼續遍歷比較如果循環結束了,還沒有找到重復的用戶名,提示用戶"恭喜您,注冊成功!";*/ public class Demo02RegisterException {// 1.使用數組保存已經注冊過的用戶名(數據庫)static String[] usernames = {"張三","李四","王五"};public static void main(String[] args) {//2.使用Scanner獲取用戶輸入的注冊的用戶名(前端,頁面)Scanner sc = new Scanner(System.in);System.out.println("請輸入您要注冊的用戶名:");String username = sc.next();checkUsername(username);}//3.定義一個方法,對用戶輸入的中注冊的用戶名進行判斷public static void checkUsername(String username) {//遍歷存儲已經注冊過用戶名的數組,獲取每一個用戶名for (String name : usernames) {//使用獲取到的用戶名和用戶輸入的用戶名比較if(name.equals(username)){//true:用戶名已經存在,拋出RegisterException異常,告知用戶"親,該用戶名已經被注冊";throw new RegisterException("親,該用戶名已經被注冊");//拋出運行期異常,無需處理,交給JVM處理,中斷處理}}//如果循環結束了,還沒有找到重復的用戶名,提示用戶"恭喜您,注冊成功!";System.out.println("恭喜您,注冊成功!");} }

?

總結

以上是生活随笔為你收集整理的自定义异常类的练习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。