求个大神指出错误...
import java.util.InputMismatchException;
import java.util.Scanner;
public class Book {
public String books[]={"物理","化学","历史","政治"};
public static void main(String[] args) {
Book Use=new Book();
Use.test();
// TODO Auto-generated method stub
}
public void test(){
Scanner input=new Scanner(System.in);
System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
try{
int a=input.nextInt();
switch(a){
case 1:
System.out.println("请输入图书名称");
Scanner as=new Scanner(System.in);
String name=as.next();
for(int i=0;i<books.length;i++){
if(books[i].equals(name)){
System.out.println("book:"+books[i]);
test();
}
}
System.out.println("图书不存在,请重新输入");
test();
case 2:
System.out.println("请输入图书序号");
try{
int d=input.nextInt();
for(int i=0;i<books.length;i++){
if(d==i+1){
System.out.println("book"+books[i]);
}
}
test();
}catch(InputMismatchException d ){
System.out.println("输入有误,请输入正确的图书序号");
test();
}
}
}catch(Exception e){
System.out.println("命令输入错误!请根据提示输入数字命令");
test();
}
}
}