继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

借鉴一位大神的,做了些修改 Exception练习

____途
关注TA
已关注
手记 2
粉丝 3
获赞 14
/*属性类*/
public class BookBen {
    public int id;
    public String name;

    public BookBen(){

    }
    public BookBen(int id,String name){
        this.id=id;
        this.name=name;
    }
    @Override
    public String toString() {
        return "[书籍编号:" + id + ", 书籍名称:" + name + "]";
    }

}
/*main方法*/
public class ExcMain {
    static int query;//查询方式
    static String bookName;//书名
    static int bookId;//通过书的id查询
    Scanner scanner = new Scanner(System.in);
    BookBen []book= {new BookBen(1,"西游记"),new BookBen(2,"红楼梦"),new BookBen(3,"三国演义"),new BookBen(4,"水浒传")};

    public static void main(String[] args) {
        ExcMain excmain = new ExcMain();
        try {
            excmain.inquiryMode();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
/*选书方式*/
public void inquiryMode(){
        // TODO Auto-generated method stub
        try {
            System.out.println("请选择选书方式:1.通过book id,2.通过book name");
            query=scanner.nextInt();//获取用户输入的选书方式
            if(query==1){//==1就通过id选书
                queryId();
            }else if(query==2){//==2就通过name选书
                queryName();
            }else{//都不是就抛出异常
                throw new Exception("您的输入不正确!");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
/*id查询方式*/
public void queryId() throws Exception{
        try {
            //展示有哪些书籍
            for (BookBen bookben : book) {
                System.out.println(bookben);
            }
            System.out.println("请输入你要借的书的编号");
            bookId=scanner.nextInt();//获取输入的书籍编号
            System.out.println("输入bookID=="+bookId);//打印输出
            for (int i = 0; i < book.length; i++) {//循环数组
                if(book[i].id==bookId){//比较是否存在该输入的书籍id
                    System.out.println("你的查询信息如下:\n "+"*书籍编号:"+book[i].id+"*书籍名称:"+book[i].name);
                    return;
                }
            }
            //遍历数组不存在该书籍id就抛出异常
            throw new Exception("你输入的书籍id不存在,请重新输入");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
/*name查询方式*/
public void queryName() throws Exception{
        try {
            //展示有哪些书籍
            for (BookBen bookben : book) {
                System.out.println(bookben);
            }
            System.out.println("请输入你要借的书的名称");
            bookName=scanner.next();//获取输入的书籍名称
            System.out.println("输入bookName=="+bookName);//打印输出
            for (int i = 0; i < book.length; i++) {//循环遍历书籍数组
                if(book[i].name.equals(bookName)){//比较输入的书籍名称是否存在
                    System.out.println("你的查询信息如下:\n "+"*书籍编号:"+book[i].id+"*书籍名称:"+book[i].name);
                    return;
                }
            }
            //遍历数组不存在该书籍name就抛出异常
            throw new Exception("你输入的书籍name不存在,请重新输入");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP

热门评论

你不是已经处理了异常为什么还要抛出异常呢?

要是我选择后随意输入呢,是不是要提示输入错误呢,而不是说没有该书 


查看全部评论