package imooc.Exception;
import java.util.Scanner;
public class LibraryWithException {
public static void main(String[] args) throws Exception {
//初始化书名数组
String []books = {"高等数学","大学英语","论语","三字经","大学物理"};
//输入控制台
Scanner console = new Scanner(System.in);
//定义一些变量存储书名,书的序号,以及标志位(标志图书是否存在)
String bookName = null;
int bookNum = 0;
int flag = 0;
int command = 0;
while(true){
System.out.println("请选择查找方式:"+1+":按照书名查找图书"+" "+2+":按照图书序号查找图书");
//try-catch语块来对输入的查找方式命令输入进行捕获异常
try{
command = console.nextInt();
}catch (Exception e) {
System.out.println("命令输入错误!请根据提示输入数字命令!");
//buffer是为了读走整数所占字节以外的字节(在上面的输入中可能输入了大于一个字节的数据,导致缓冲流中还存在数据未读完)
String buffer = console.next();
continue;
}
//对输入的查找方式命令进行分类处理
if(command == 1){
System.out.println("请输入所要查找的书名:");
bookName = console.next();
for(int i = 0; i < books.length; i++){
if(bookName.equals(books[i])){
System.out.println("book:"+books[i]);
flag = 1;
break;
}
}
if(flag == 0){
System.out.println("图书不存在!");
continue;
}
flag = 0;
}
else if( command == 2){
while(true){
System.out.println("请输入所要查找的图书序号:");
try{
bookNum = console.nextInt();
}catch (Exception e) {
System.out.println("命令输入错误!请根据提示输入数字命令!");
String buffer1 = console.next();
continue;
}
if((bookNum < 0)||(bookNum >= books.length)){
System.out.println("图书不存在!");
}
else{
System.out.println("book:"+books[bookNum]);
}
break;
}
}
else
{
System.out.println("命令输入错误!请根据提示输入数字命令!");
continue;
}
}
}
}
测试效果:
请选择查找方式:1:按照书名查找图书 2:按照图书序号查找图书
1
请输入所要查找的书名:
as
图书不存在!
请选择查找方式:1:按照书名查找图书 2:按照图书序号查找图书
12
命令输入错误!请根据提示输入数字命令!
请选择查找方式:1:按照书名查找图书 2:按照图书序号查找图书
1
请输入所要查找的书名:
论语
book:论语
请选择查找方式:1:按照书名查找图书 2:按照图书序号查找图书
2
请输入所要查找的图书序号:
1
book:大学英语
请选择查找方式:1:按照书名查找图书 2:按照图书序号查找图书
2
请输入所要查找的图书序号:
12
图书不存在!
请选择查找方式:1:按照书名查找图书 2:按照图书序号查找图书
2
请输入所要查找的图书序号:
ads
命令输入错误!请根据提示输入数字命令!
请输入所要查找的图书序号:
共同学习,写下你的评论
评论加载中...
作者其他优质文章