亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

弄了一天,異常真難處理!

package user;


public class Book {

String name;

int number;

public Book(int a,String b) {

this.number=a;

this.name=b;

}


void show() {

System.out.println("圖書編號為:"+number+'\n'+"圖書名字為:"+name);

}


}

package user;


public class Errora extends Exception {

public Errora(String a) {

super(a);

}

}

package user;


public class Errorb extends Exception {

public Errorb(String b) {

super(b);

}

}

package user;


public class Errorc extends Exception {

public Errorc(String c) {

super(c);

}

}

package user;


import java.util.InputMismatchException;

import java.util.Scanner;


public class Test {

static int d;

static Book[] booklist= {

new Book(1,"金瓶梅"),

new Book(2,"極樂寶鑒"),

new Book(3,"西游記"),

new Book(4,"三國演義"),

new Book(5,"紅樓夢"),

new Book(6,"水滸傳"),

new Book(7,"如來神掌"),

new Book(8,"周公解夢"),

new Book(9,"山海經")

};

public static void main(String[] args) throws Errora, Errorb, Errorc{

// TODO Auto-generated method stub

System.out.println("請選擇查找方式,按序號查找請輸入1,按書名查找請輸入2");

new Test();

Test.find();


? ?System.out.println("感謝使用,再見!");

}

public static void find() throws Errora, Errorb, Errorc {

try{

Scanner scanner=new Scanner(System.in);

d=scanner.nextInt();

? ?new Test().test();

}catch(InputMismatchException e) {

System.out.println("輸入參數類型錯誤,請重新輸入!");

new Test().find();

}

}

void test() throws Errora,Errorb,Errorc {

try {

int count = d;

if(count==1) {

System.out.println("請輸入查找的序號,回車確認!");

Scanner scanner2=new Scanner(System.in);

int a=scanner2.nextInt();

switch(a) {

case 1:booklist[0].show();break;

case 2:booklist[1].show();break;

case 3:booklist[2].show();break;

case 4:booklist[3].show();break;

case 5:booklist[4].show();break;

case 6:booklist[5].show();break;

case 7:booklist[6].show();break;

case 8:booklist[7].show();break;

case 9:booklist[8].show();break;

default:throw new Errorb("序號不存在!請重新輸入!");

}


}

else if(count==2){

System.out.println("請輸入查找的書名,回車確認!");

Scanner scanner3=new Scanner(System.in);

String b=scanner3.next();

int num=0;

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

if(b.contentEquals(booklist[i].name)) {

booklist[i].show();

}

else if(!(b.contentEquals(booklist[i].name))) {

num++;

if(num==9) {

throw new Errorc("圖書不存在!請重新輸入!");

}

}

}

}

else {

throw new Errora("輸入錯誤!請重新輸入!");

}

}

catch(Errora e) {

e.printStackTrace();

new Test().find();

}

catch(Errorb e) {

e.printStackTrace();

new Test().test();

}

catch(Errorc e) {

e.printStackTrace();

new Test().test();

}

}

}


正在回答

1 回答

你需要將執行中可能出現異常的代碼放到try中執行,如果不知道怎么去捕獲異常的話就直接拋出異常,在聲明異常的時候如果不知道異常的類型就直接拋出exception.

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

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409775    人
  • 解答問題       4546    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

弄了一天,異常真難處理!

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

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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