为了账号安全,请及时绑定邮箱和手机立即绑定

模拟借书系统满足老师的所有要求~~

标签:
Java
import java.util.*;

public class BorrowBook{
    //自定义错误命令异常
    public class WrongCommandException extends Exception{
        public WrongCommandException(String str){
            super(str);
        }
    }

    //自定义图书不存在异常
    public class NoBookException extends Exception{
        public NoBookException(String str){
            super(str);
        }
    }

    //抛出图书不存在异常
    public void noBook() throws NoBookException{
        throw new NoBookException("图书不存在");
    }

    //抛出错误命令异常
    public void wrongCommand() throws WrongCommandException{
        throw new WrongCommandException("命令输入错误!请根据提示输入数字命令!");
    }

    public static void main(String[] args){
        String[] book1 = {"1","数据结构"};//创建包含书的信息的数组
        String[] book2 = {"2","高数"};
        //用do-while循环维持输入错误时继续输入
        do{
            System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
            Scanner bb = new Scanner(System.in);
            String bk = bb.next();//用户输入第一步的命令
            //当用户输入1的时候
            if(bk.equals("1")){
                System.out.println("输入图书名称:");
                String bn = bb.next();//用户输入第二步的命令
                //当用户输入没有的书名的时候
                if(!bn.equals(book1[1]) && !bn.equals(book2[1])){
                    BorrowBook nobook = new BorrowBook();//创建nobook对象
                    //尝试捕获图书不存在异常
                    try{
                        nobook.noBook();
                    }catch(NoBookException e){
                        System.out.println(e.getMessage());//输出图书不存在异常里面的字符串
                    }
                    continue;//结束当次循环
                }
                //当用户输入正确图书名的时候输出书名并结束循环
                else if(bn.equals(book1[1])){
                    System.out.println("book:"+book1[1]);
                    break;//结束循环
                }
                else{
                    System.out.println("book:"+book2[1]);
                    break;//结束循环
                }
            }
            //当用户输入2的时候
            else if(bk.equals("2")){
                System.out.println("输入图书序号:");
                String bx = bb.next();
                //当用户输入不存在的序号的时候
                if(!bx.equals(book1[0]) && !bx.equals(book2[0])){
                    BorrowBook nobook2 = new BorrowBook();
                    //尝试捕获图书不存在异常
                    try{
                        nobook2.noBook();
                    }catch(NoBookException e){
                        System.out.println(e.getMessage());//输出图书不存在异常里面的字符串
                    }
                    //结束档次循环
                    continue;
                }
                //当用户输入正确序号时输出书名并结束循环
                else if(bx.equals(book1[0])){
                    System.out.println("book:"+book1[1]);
                    break;//结束循环
                }
                else{
                    System.out.println("book:"+book2[1]);
                    break;//结束循环
                }
            }
            //当用户在第一步操作输入错误的命令
            else{
                BorrowBook wrongcommand = new BorrowBook();
                //尝试捕获错误命令异常
                try{
                    wrongcommand.wrongCommand();
                }catch(WrongCommandException e){
                    System.out.println(e.getMessage());//输出错误命令异常里面的字符串
                }
                continue;//结束当次循环
            }
        }while(true);
    }
}
点击查看更多内容
10人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消