第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問各位大佬,為什么當我異常輸入指令時,比方說輸入查找指令為a時,我想要輸出的(第一句話:命令輸入錯誤,請根據提示輸入命令),就是不輸出呢? throw new libraryException("第一句話:命令輸入錯誤,請根據提示輸入命令")這行代碼到底有什么作用呢?


package $$$$$$$;

public class libraryException extends Exception{//自定義異常

public libraryException() {//無參方法

}

public libraryException(String message) {//有參構造方法

super(message);

}}

package $$$$$$$;

import java.util.Scanner;

public class library {

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

? Index();

?}

?public static void?Index()?{

? System.out.println("歡迎進入圖書館查書系統(tǒng)\n請輸入您的指令:\n1-按名稱查找圖書\n2-按編號查找圖書\n");

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

? String i = in.next();

? try {

? ?if (i.equals( "1")) {

? ? System.out.println("請輸入您需要查找的圖書的書名");

? ? name();

? ?} else if (i.equals( "2")) {

? ? System.out.println("請輸入您需要查找的圖書的編號");

? ? number();

? ?} else {

System.out.println("測試");

? ? throw new?libraryException("第一句話:命令輸入錯誤,請根據提示輸入命令");

? ?}

? } catch (Exception e) {

? ?System.out.println("第二句話:請輸入正確指令\n");

? ?Index();

? }

?}

}

請問各位大佬,為什么當我異常輸入指令時,比方說輸入查找指令為a時,我想要輸出的(第一句話:命令輸入錯誤,請根據提示輸入命令),就是不輸出呢?

throw new libraryException("第一句話:命令輸入錯誤,請根據提示輸入命令")這行代碼到底有什么作用呢?

謝謝大佬幫忙解答

下面是運行結果

https://img1.sycdn.imooc.com//5c7cd09d00011fab05490427.jpg


正在回答

3 回答

就看你的main吧,主要問題在這里(上面的框),在拋出libraryException的時候程序不會輸出“第一句話:命令輸入錯誤……”按照拋出異常的順序而是應該在后面的catch中輸出語句,所以這塊的代碼應該改成后面我寫的那個(下面的框),然后你再試試。

System.out.println("測試");????throw?new?libraryException("第一句話:命令輸入錯誤,請根據提示輸入命令");???}??}?catch?(Exception?e)?{???System.out.println("第二句話:請輸入正確指令\n");
System.out.println("測試");????throw?new?libraryException();???}??}?catch?(libraryException?e)?{???System.out.println("第一句話:命令輸入錯誤,請根據提示輸入命令");


0 回復 有任何疑惑可以回復我~

public static void name() {//name方法

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

? String str = in.nextLine();

? int index = -1;

? try {

? ?for (int i = 0; i < BOOK.length; i++) {

? ? if (BOOK[i][1].equals(str)) {

? ? ?index = i;

? ? ?break;

? ? }

? ?}

? ?if (index != -1) {

? ? System.out.println("編號: " + BOOK[index][0] + "? 書名 " + BOOK[index][1] + " 存在");

? ?} else {

? ? throw new Exception();

? ?}

? } catch (Exception e) {

? ?System.out.println("該書不存在,請重新輸入正確書名......");

? ?name();

? }

?}

public static void number() {//number方法

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

? String str = in.nextLine();

? int index = -1;

? try {

? ?for (int i = 0; i < BOOK.length; i++) {

? ? if (BOOK[i][0].equals(str)) {

? ? ?index = i;

? ? ?break;

? ? }

? ?}

? ?if (index != -1) {

? ? System.out.println("編號: " + BOOK[index][0] + "? 書名 " + BOOK[index][1] + " 存在");

? ?} else {

? ? throw new Exception();

? ?}

? } catch (Exception e) {

? ?System.out.println("該書不存在,請重新輸入正確編號......");

? ?number();

? }

?}

?

?public static String[][] BOOK = {{"0001","語文"},{"0002","數學"},{"0003","英語"},{"0004","體育"}};

}


0 回復 有任何疑惑可以回復我~
#1

Xiong丶

我回復在下面了
2019-03-04 回復 有任何疑惑可以回復我~
#2

霸氣小肆毛 提問者 回復 Xiong丶

好的,謝謝
2019-03-04 回復 有任何疑惑可以回復我~

能把number();的代碼貼上來看看嗎

0 回復 有任何疑惑可以回復我~
#1

霸氣小肆毛 提問者

大佬,我回到下面的框里面去了,您再看看呢。
2019-03-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問各位大佬,為什么當我異常輸入指令時,比方說輸入查找指令為a時,我想要輸出的(第一句話:命令輸入錯誤,請根據提示輸入命令),就是不輸出呢? throw new libraryException("第一句話:命令輸入錯誤,請根據提示輸入命令")這行代碼到底有什么作用呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號