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);
}
}
打开App,阅读手记
热门评论
你这个还是不行,仅仅是两本书,所以你进行两本书的比较,如果增加几本书,你改的地方可多了。
兄弟 可以的 ,加油啊