--自定义异常
package org.books;
public class InfoErr extends Exception{
    public InfoErr(String message){
        super(message);
    }
}
--定义异常的详细信息
package org.books;
import java.util.Scanner;
public class ExceptionDemo {
    ThrowsDemo[] demo ={new BooksInfo(1,"语文","阿迷"),new BooksInfo(2,"悲惨世界","雨果"),new BooksInfo(3,"java基础","sun"),new BooksInfo(4,"Mysql","Dave") };
    public void Exception() throws  InfoErr{
        System.out.println("请选择查找图书的方式:1.按照书名进行查找  2.按照作者进行查找" );
        Scanner input = new Scanner(System.in); //提供在控制台进行输入功能
        int number= input.nextInt();        
        if(number!=1&&number!=2){//判断查询条件
            throw new InfoErr("您输入的信息有误!请按提示重新输入!!");
        }else{   
                if(number==1){
                     System.out.println("请输入您找的书名:");                
                      String name= input.next(); 
                  //对控制台输入的书名进行判断
                      if(name=="语文"||"语文".equals(name)){
//                            System.out.println(demo[1].author);
                              System.out.println("数的序号为:"+demo[0].no+" 书名为:"+demo[0].bookName+" 作者为:"+demo[0].author);
                          }
                          else if(name=="悲惨世界"||"悲惨世界".equals(name)){
                              System.out.println("数的序号为:"+demo[1].no+" 书名为:"+demo[1].bookName+" 作者为:"+demo[1].author);
                          }
                          else if(name=="java基础"||"java基础".equals(name)){
                              System.out.println("数的序号为:"+demo[2].no+" 书名为:"+demo[2].bookName+" 作者为:"+demo[2].author);
                          }
                          else if(name=="Mysql"||"Mysql".equals(name)){
                              System.out.println("数的序号为:"+demo[3].no+" 书名为:"+demo[3].bookName+" 作者为:"+demo[3].author);
                }
                       else if(name !=demo[0].bookName&& name!=demo[1].bookName&& name!=demo[2].bookName&& name!=demo[3].bookName){
                      throw new InfoErr("您查找的书名不存在!请重新输入!");
                } 
                      }
                if(number==2){
                    System.out.println("请输入您找的作者名:");                
                      String auName= input.next();
                       if(auName=="阿迷"||"阿迷".equals(auName)){
//                        System.out.println(demo[1].author);
                          System.out.println("数的序号为:"+demo[0].no+" 书名为:"+demo[0].bookName+" 作者为:"+demo[0].author);
                      }
                      else if(auName=="雨果"||"雨果".equals(auName)){
                          System.out.println("数的序号为:"+demo[1].no+" 书名为:"+demo[1].bookName+" 作者为:"+demo[1].author);
                      }
                      else if(auName=="sun"||"sun".equals(auName)){
                          System.out.println("数的序号为:"+demo[2].no+" 书名为:"+demo[2].bookName+" 作者为:"+demo[2].author);
                      }
                      else if(auName=="Dave"||"Dave".equals(auName)){
                          System.out.println("数的序号为:"+demo[3].no+" 书名为:"+demo[3].bookName+" 作者为:"+demo[3].author);
                      }else  if(auName!=demo[0].author&& auName!=demo[0].author&&auName!=demo[1].author&&auName!=demo[2].author&&auName!=demo[3].author){
                          throw new InfoErr("您查找的作者不存在!请重新输入!");
                      }
                }
        }
    }
    }
--实现
package org.books;
import java.util.InputMismatchException;
import java.util.Scanner;
public class Action {
    public static void main(String[] args) {
        ExceptionDemo ex = new ExceptionDemo();
    do{
        try {
            ex.Exception();
            Scanner input = new Scanner(System.in); //提供在控制台进行输入功能
            int number= input.nextInt();
            } catch (InfoErr e) {
                // TODO Auto-generated catch block
                System.out.println(e.getMessage());
            }catch(Exception e){//判断控制台输入的类型是否正确
                System.out.println("您输入的信息有误!请按提示重新输入!");
            }
    }while(true);
            }
    }
--运行结果
![图片描述][1]
		
			
			打开App,阅读手记
		
	 
	
热门评论
- 
			  
				qq_BlackCat_342496782016-11-06 0 
 
查看全部评论你这个程序能实现的?