import java.util.*;
public class BorrowBook{
//自定义错误命令异常
public class WrongCommandException extends Exception{
public WrongCommandException(String str){
super(str);
}
}
//自定义图书不存在异常
public class NoBookException extends Exception{
public NoBookException(String str){
super(str);
}
}
//抛出图书不存在异常
public void noBook() throws NoBookException{
throw new NoBookException("图书不存在");
}
//抛出错误命令异常
public void wrongCommand() throws WrongCommandException{
throw new WrongCommandException("命令输入错误!请根据提示输入数字命令!");
}
public static void main(String[] args){
String[] book1 = {"1","数据结构"};//创建包含书的信息的数组
String[] book2 = {"2","高数"};
//用do-while循环维持输入错误时继续输入
do{
System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
Scanner bb = new Scanner(System.in);
String bk = bb.next();//用户输入第一步的命令
//当用户输入1的时候
if(bk.equals("1")){
System.out.println("输入图书名称:");
String bn = bb.next();//用户输入第二步的命令
//当用户输入没有的书名的时候
if(!bn.equals(book1[1]) && !bn.equals(book2[1])){
BorrowBook nobook = new BorrowBook();//创建nobook对象
//尝试捕获图书不存在异常
try{
nobook.noBook();
}catch(NoBookException e){
System.out.println(e.getMessage());//输出图书不存在异常里面的字符串
}
continue;//结束当次循环
}
//当用户输入正确图书名的时候输出书名并结束循环
else if(bn.equals(book1[1])){
System.out.println("book:"+book1[1]);
break;//结束循环
}
else{
System.out.println("book:"+book2[1]);
break;//结束循环
}
}
//当用户输入2的时候
else if(bk.equals("2")){
System.out.println("输入图书序号:");
String bx = bb.next();
//当用户输入不存在的序号的时候
if(!bx.equals(book1[0]) && !bx.equals(book2[0])){
BorrowBook nobook2 = new BorrowBook();
//尝试捕获图书不存在异常
try{
nobook2.noBook();
}catch(NoBookException e){
System.out.println(e.getMessage());//输出图书不存在异常里面的字符串
}
//结束档次循环
continue;
}
//当用户输入正确序号时输出书名并结束循环
else if(bx.equals(book1[0])){
System.out.println("book:"+book1[1]);
break;//结束循环
}
else{
System.out.println("book:"+book2[1]);
break;//结束循环
}
}
//当用户在第一步操作输入错误的命令
else{
BorrowBook wrongcommand = new BorrowBook();
//尝试捕获错误命令异常
try{
wrongcommand.wrongCommand();
}catch(WrongCommandException e){
System.out.println(e.getMessage());//输出错误命令异常里面的字符串
}
continue;//结束当次循环
}
}while(true);
}
}
点击查看更多内容
10人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦