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

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

初學異常處理,希望和大家互相交流學習

********

自定義異常類:


package com.Bookrent;


public class ExtraException extends Exception{


}

********

Bookrent類:


package com.Bookrent;


public class Book {

private String bookName;

private int bookNum;

public Book(String bookName,int bookNum)

{

this.bookName = bookName;

this.bookNum = bookNum;

}

public String getBookName() {

return bookName;

}

public void setBookName(String bookName) {

this.bookName = bookName;

}

public int getBookNum() {

return bookNum;

}

public void setBookNum(int bookNum) {

this.bookNum = bookNum;

}

}

********

主函數:


package com.Bookrent;

import java.util.Scanner;


public class bookrent {

Book[] bookRent =?

{new Book("高數",1),new Book("數據結構",2),new Book("操作系統",3),new Book("數據庫",4)};?

//將數組定義到全局范圍方便其他函數使用;

public static void main(String[] args) {

// TODO Auto-generated method stub

bookrent br = new bookrent();

br.find();

}


public void find()

{

Scanner input = new Scanner(System.in);

System.out.println("輸入命令:1.按照名稱查找圖書;2.按照序號查找圖書");

int i = input.nextInt();

try

{

if(i == 1)

{

this.searchName();

}

else if(i == 2)

{

this.searchNum();

}

else?

{

throw ?new Exception();

}

}catch(Exception e)

{

input = new Scanner(System.in);//對于輸入有誤的情況不會終止程序運行;

System.out.println("命令輸入錯誤!請根據提示輸入正確的命令!");

this.find();

}

}

public void searchName()//對于輸入的信息進行判斷并進行有效的處理(try catch)異常處理并循環

{

System.out.println("請輸入要查詢的書名:");

Scanner input = new Scanner(System.in);

String s = input.next();

try

{

for(Book br:bookRent)//遍歷數組

{

if(br.getBookName().equals(s))//查看是否有何輸入相同的書名

{

System.out.println("已找到圖書");

System.out.println("圖書:" + s);

this.find();//遍歷后要及時退出否則會強制拋出異常;

}

else

{

throw new Exception();

}

}

}catch(Exception e)

{

System.out.println("查找的圖書不存在");

this.find();

}


}

public void searchNum()

{

System.out.println("請輸入要查詢的書的序號:");

Scanner input = new Scanner(System.in);

try

{

int i = input.nextInt();

for(Book br:bookRent)

{

if(br.getBookNum() == i)

{

System.out.println("已找到圖書");

System.out.println("圖書:" + i);

this.find();

}

else

{

throw new ExtraException();//自定義異常的使用;對于多catch很有幫助;

}

}

}catch(ExtraException e)

{

System.out.println("查找的圖書不存在");

this.find();

}catch(Exception e)

{

System.out.println("命令輸入有誤,請重新輸入!");

this.searchNum();

}

}

}


正在回答

1 回答

可以,厲害

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

舉報

0/150
提交
取消

初學異常處理,希望和大家互相交流學習

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

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

幫助反饋 APP下載

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

公眾號

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