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

借书系统(异常作业)

JAVAProgrammer
关注TA
已关注
手记 1
粉丝 3
获赞 36
MainBook
public class MainBook {

    static String[] datas = { "JavaSE", "JavaEE", "Mysql", "JavaScript",
            "Html5" };
    static int status;

    public static void main(String[] args) {
        do {
            try {
                show();
            } catch (BookException e) {
                System.out.println(e.getMessage());
            } catch (InputMismatchException e) {
                System.out.println("输入类型不正确");
            } catch (Exception e) {
                System.out.println("未知异常");
            }
        } while (status == 0);
    }

    public static void show() throws BookException {
        status = 0;
        boolean flag = true;
        do {
            System.out.println("输入命令:1.按照名称查找书籍2.按照序号查找书籍(序号从0开始)0.退出程序");
            Scanner sc = new Scanner(System.in);
            int result = sc.nextInt();
            if (result == 0) {
                System.out.println("你已退出本程序,欢迎下次使用");
                status = 1;
                flag = false;
            } else if (result == 1) {
                System.out.print("请输入书籍名称: ");
                String bookName = sc.next();
                getByName(bookName);
            } else if (result == 2) {
                System.out.print("请输入书籍名称: ");
                int bookNumber = sc.nextInt();
                getByNumber(bookNumber);
            } else {
                throw new BookException("命令错误");
            }
        } while (flag);
    }

    public static void getByName(String bookName) throws BookException {
        for (String bName : datas) {
            if (bName.equals(bookName)) {
                System.out.println("book: " + bName);
                return;
            }
        }
        throw new BookException("图书不存在");
    }

    public static void getByNumber(int bookNumber) throws BookException {
        for (int i = 0; i < datas.length; i++) {
            if (bookNumber == i) {
                System.out.println("book: " + datas[i]);
                return;
            }
        }
        throw new BookException("图书不存在");
    }
}
BookException
public class extends Exception {

    public BookException() {
    }

    public BookException(String message) {
        super(message);
    }
}
效果图

图片描述

打开App,阅读手记
24人推荐
发表评论
随时随地看视频慕课网APP

热门评论

你好,我想问一下这个staus是用来干嘛的?

我想问下getByNumber方法为什么要用for循环,直接输出datas[bookNumber-1]不可以么

为什么用到static修饰词?,能否不用也是一样的?

查看全部评论