美文网首页
模拟借书系统

模拟借书系统

作者: 清波ss | 来源:发表于2018-07-25 10:47 被阅读0次

    java练习1:

    java实现模拟借书系统:

    程序可实现:

    1.提示用户输入,按书名和序号查找图书。

    2.根据输入信息进行适当的异常处理:

    a.输入类型错误,抛出“错误命令异常”,提示重新输入
    b.书名不存在或输入序号超出书本库范围,抛出“图书不存在异常”,提示重新输入

    不足:

    未学过sql,书名常用的模糊搜索无法实现,其他实现途径不详

    。。。。

    import java.util.Scanner;
    public class BorrowBooksWorking {
        static Scanner sc=new Scanner(System.in);
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            String[] books= {"高数","计算机原理","线代","操作系统","计算机网络"};//书本库
            int flag=0;
            while(flag==0) {
                System.out.println("输入命令:1--按名称查;2--按序号查;3--退出查阅系统");
                try {
                    int input1=selectNum();
                    switch(input1) {
                        case 1://按名称查
                            String book1=byName(books);
                            System.out.println(" 图书名称:"+book1);
                            break;
                        case 2://按序号查
                            String book2=bySeq(books);
                            System.out.println("图书名称:"+book2);
                            break;
                        case 3://退出程序
                            System.out.println("********欢迎下次使用本系统");
                            flag=1;
                            break;
                        case -1://输入有误
                            System.out.println("命令输入错误!输入字符串?请根据提示输入数字命令,朋友!");
                            continue;
                        default://输入其他信息都是错的
                            System.out.println("命令输入错误!请根据提示输入!~~~~~");
                            continue;
                    }
                }catch(Exception bne) {
                    //捕获图书不存在异常要重新输入
                    System.out.println(bne.getMessage());
                    continue;
                }
            }
        }   
        //序号型输入
        public static int selectNum() {
            int s1;
            try {
                s1=sc.nextInt();
            } catch (Exception e) {
                // 若输入字符型则异常
                sc=new Scanner(System.in);
                s1=-1;
            }
            return s1;
        }
        //按序号查书
        public static String bySeq(String[] books) throws Exception{
            while(true) {
                System.out.println("输入图书序号:");
                try {
                    int seq=selectNum();
                    if(seq==-1) {
                        System.out.println("输入错误!请根据提示输入数字!");
                        continue;
                    }
                    String book=books[seq-1];
                    return book;
                    }catch(ArrayIndexOutOfBoundsException e) {
                    // 数组越界异常
                        throw new Exception("图书不存在!");
                    }
            }
        }
        //按图书名查书
        //模糊搜索?
        public static String byName(String[] books) throws Exception{
            System.out.println("输入图书名称:");
            String str1=sc.next();
            for(int i=0;i<books.length;i++) {
                if(books[i].equals(str1))
                    return books[i];
            }
            throw new Exception("图书不存在!");
        }
    }
    

    相关文章

      网友评论

          本文标题:模拟借书系统

          本文链接:https://www.haomeiwen.com/subject/eysemftx.html