模拟借书系统

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

你可能感兴趣的:(模拟借书系统)