Java小项目-基于文本界面的图书馆管理软件(文本存储)

前言

因为还没有学习到MVC三层架构模式,代码结构上就显得很凌乱,也没有学习到数据库,使用的IO流进行的本地文件存储。

项目功能结构图

项目结构功能图

项目代码展示

文件存储的核心代码

使用BufferedReader和 BufferedWrite进行文件的读写

public class Dao {

    //把书本信息从文件读入集合中
    public static void readDate(String fileName, ArrayList<Book> array) throws IOException {
        //创建输入缓冲流对象
        BufferedReader br = new BufferedReader(new FileReader(fileName));

        String line;
        while ((line = br.readLine()) != null) {
            String[] datas = new String[7];
            datas = line.split(",");
            Book b = new Book();
            b.setBookName(datas[0]);
            b.setAuthor(datas[1]);
            b.setPublish(datas[2]);
            b.setPublishDate(datas[3]);
            b.setPrintTime(datas[4]);
            b.setTypeName(datas[5]);
            b.setUnitPrice(datas[6]);
            b.setISBN(datas[7]);
            b.setState(datas[8]);
            array.add(b);
        }
        br.close();
    }

    //把集合中的数据写入文件
    public static void writeDate(String fileName, ArrayList<Book> array) throws IOException {
        //创建输入缓冲流对象
        BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));

        for (int i = 0; i < array.size(); i++) {
            Book b = array.get(i);
            StringBuilder sb = new StringBuilder();
            sb.append(b.getBookName()).append(",")
                    .append(b.getAuthor()).append(",")
                    .append(b.getPublish()).append(",")
                    .append(b.getPublishDate()).append(",")
                    .append(b.getPrintTime()).append(",")
                    .append(b.getTypeName()).append(",")
                    .append(b.getUnitPrice()).append(",")
                    .append(b.getISBN()).append(",")
                    .append(b.getState());
            bw.write(sb.toString());
            bw.newLine();
            bw.flush();
        }
        bw.close();
    }

    //把文件中的用户信息读入数组
    public static void readUser(String userName, ArrayList<Users> user) throws IOException {
        //创建输入缓冲流对象
        BufferedReader brUser = new BufferedReader(new FileReader(userName));

        String line;
        while ((line = brUser.readLine()) != null) {
            String[] dataUser = line.split(",");
            Users u = new Users();
            u.setId(dataUser[0]);
            u.setPassword(dataUser[1]);

            user.add(u);
        }
        brUser.close();
    }

    //把用户的信息存入文件
    public static void writeUser(String userName, ArrayList<Users> user) throws IOException {

        BufferedWriter bw = new BufferedWriter(new FileWriter(userName));

        for (int i = 0; i < user.size(); i++) {
            Users u = user.get(i);
            StringBuilder sb = new StringBuilder();
            sb.append(u.getId()).append(",").append(u.getPassword());
            bw.write(sb.toString());
            bw.newLine();
            bw.flush();
        }
        bw.close();

    }

    //把文件中的借书信息读入数组
    public static void readBorrow(String borrowName, ArrayList<Book> borrows) throws IOException {
        BufferedReader brBorrow = new BufferedReader(new FileReader(borrowName));

        String line;

        while ((line = brBorrow.readLine()) != null) {
            String[] dataBorrow = line.split(",");
            Book b = new Book();
            b.setId(dataBorrow[0]);
            b.setBookName(dataBorrow[1]);
            b.setBorrowDate(dataBorrow[2]);
            b.setRevertDate(dataBorrow[3]);

            borrows.add(b);
        }
        brBorrow.close();

    }

    //把用户的借书信息写入文件
    public static void writeBorrow(String borrowName, ArrayList<Book> borrows) throws IOException {
        BufferedWriter bw = new BufferedWriter(new FileWriter(borrowName, true));

        for (int i = 0; i < borrows.size(); i++) {
            Book b = borrows.get(i);
            StringBuilder sb = new StringBuilder();
            sb.append(b.getId()).append(",").append(b.getBookName()).append(",").append(b.getBorrowDate()).append(",").append(b.getRevertDate());
            bw.write(sb.toString());
            bw.newLine();
            bw.flush();
        }
        bw.close();

    }
}

图书馆包含的内容

图书类

包含书本的所有属性,get、set方法。

 public class Book {
    private String bookName;//书名
    private String author;//作者
    private String publish;//出版社
    private String publishDate;//出版日期
    private String printTime;//印刷次数
    private String unitPrice;//单价
    private String typeId;//类型id
    private String typeName;//类型名
    private String ISBN;//ISBN
    private String state;//是否借出
    private String id;//用户的借书id
    private String borrowDate;//借书时间
    private String revertDate;//还书时间

    public Book() {
    }

    public Book(String bookName, String author, String publish, String publishDate, String printTime, String unitPrice, String typeId, String typeName, String ISBN, String state, String id, String borrowDate, String revertDate) {
        this.bookName = bookName;
        this.author = author;
        this.publish = publish;
        this.publishDate = publishDate;
        this.printTime = printTime;
        this.unitPrice = unitPrice;
        this.typeId = typeId;
        this.typeName = typeName;
        this.ISBN = ISBN;
        this.state = state;
        this.id = id;
        this.borrowDate = borrowDate;
        this.revertDate = revertDate;
    }

    public String getBookName() {
        return bookName;
    }

    public void setBookName(String bookName) {
        this.bookName = bookName;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getPublish() {
        return publish;
    }

    public void setPublish(String publish) {
        this.publish = publish;
    }

    public String getPublishDate() {
        return publishDate;
    }

    public void setPublishDate(String publishDate) {
        this.publishDate = publishDate;
    }

    public String getPrintTime() {
        return printTime;
    }

    public void setPrintTime(String printTime) {
        this.printTime = printTime;
    }

    public String getUnitPrice() {
        return unitPrice;
    }

    public void setUnitPrice(String unitPrice) {
        this.unitPrice = unitPrice;
    }

    public String getTypeId() {
        return typeId;
    }

    public void setTypeId(String typeId) {
        this.typeId = typeId;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getISBN() {
        return ISBN;
    }

    public void setISBN(String ISBN) {
        this.ISBN = ISBN;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBorrowDate() {
        return borrowDate;
    }

    public void setBorrowDate(String borrowDate) {
        this.borrowDate = borrowDate;
    }

    public String getRevertDate() {
        return revertDate;
    }

    public void setRevertDate(String revertDate) {
        this.revertDate = revertDate;
    }
}
对书本操作

包含增删查改

public class BookOperation {


    //查看所有图书
    public static void findAllBook(String fileName) throws IOException {
        Dao dao = new Dao();
        //创建集合对象
        ArrayList<Book> array = new ArrayList<Book>();

        //从文件中把数据独到集合中
        dao.readDate(fileName, array);
        //首先判断集合中是否有数据,如果没有数据,就给出提示,并让该方法不继续向下执行
        if (array.size() == 0) {
            System.out.println("没有图书信息可供查询,请返回重新选择操作");
            return;
        }
        System.out.println("书名\t\t\t\t作者\t\t\t\t出版社\t\t\t\t出版日期\t\t\t\t印刷次数\t\t\t单价\t\t\t\t类型名\t\t\t\tISBN\t\t\t\t是否借出");
        for (int i = 0; i < array.size(); i++) {
            Book b = array.get(i);
            System.out.println(b.getBookName() +
                    "\t\t\t" + b.getAuthor() +
                    "\t\t\t\t" + b.getPublish() +
                    "\t\t\t" + b.getPublishDate() +
                    "\t\t\t" + b.getPrintTime() +
                    "\t\t\t\t" + b.getUnitPrice() +
                    "\t\t\t" + b.getTypeName() +
                    "\t\t\t\t" + b.getISBN() +
                    "\t\t\t\t" + b.getState());
        }
    }

    /*
     * @Description 添加图书
     * @Param [array]
     * @return void
     **/
    public static void addBook(String fileName) throws IOException {
        Dao dao = new Dao();
        //创建集合对象
        ArrayList<Book> array = new ArrayList<Book>();
        //从文件中把数据独到集合中
        dao.readDate(fileName, array);

        //创建键盘录入的对象
        Scanner scanner = new Scanner(System.in);

        //为了让bookname能够被访问到,我们就把id定义在了循环的外面
        String bookname;

        //为了让代码能够回到这里来,使用循环
        while (true) {
            System.out.println("请输入书名");
            bookname = scanner.nextLine();

            //判断书名是否重复
            //定义标记
            boolean flag = false;
            //遍历集合,得到每一本书
            for (int i = 0; i < array.size(); i++) {
                Book b = array.get(i);
                //获取图书的书名,和键盘录入的书名进行比较
                if (b.getBookName().equals(bookname)) {
                    flag = true;//说明书名被占用了
                    break;
                }
            }
            if (flag) {
                System.out.println("你输入的书本已存在,请重新输入");
            } else {
                break;//结束循环
            }
        }
        System.out.println("请输入作者");
        String author = scanner.nextLine();
        System.out.println("请输入出版社");
        String publish = scanner.nextLine();
        System.out.println("请输入出版日期");
        String publishDate = scanner.nextLine();
        System.out.println("请输入印刷次数");
        String printTime = scanner.nextLine();
        System.out.println("请输入单价");
        String unitPrice = scanner.nextLine();
        System.out.println("请输入类型名称");
        String typeName = scanner.nextLine();
        System.out.println("请输入ISBN");
        String ISBN = scanner.nextLine();


        Book book = new Book();
        book.setBookName(bookname);
        book.setAuthor(author);
        book.setPublish(publish);
        book.setPublishDate(publishDate);
        book.setPrintTime(printTime);
        book.setTypeName(typeName);
        book.setUnitPrice(unitPrice);
        book.setISBN(ISBN);
        book.setState("否");

        array.add(book);

        //把集合中的数据重新写回到文件
        dao.writeDate(fileName, array);

        System.out.println("添加图书成功");
    }

    //删除书本
    public static void deleteBook(String filename) throws IOException {

        //删除书本的思路:键盘录入一个书本名,到集合中去查找,看是否有书本的名称使用,有就删除

        Dao dao = new Dao();

        //创建集合对象
        ArrayList<Book> array = new ArrayList<Book>();

        //从文件中把数据独到集合中
        dao.readDate(filename, array);

        //创建键盘输入对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你要删除的书本名称");
        String bookname = scanner.nextLine();

        //定义一个索引
        int index = -1;

        //遍历集合
        for (int i = 0; i < array.size(); i++) {
            //获取每一本书对象
            Book b = array.get(i);
            //那这个书本对象的名称和键盘录入的,名称进行比较
            if (b.getBookName().equals(bookname) && b.getState().equals("否")) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println("不好意思,你要删除的书本对应的名称不存在或已被借出,请回去重新你的选择");
        } else {
            array.remove(index);
            //把集合中的数据重新写回到文件
            dao.writeDate(filename, array);
            System.out.println("删除图书成功");
        }
    }

    //修改书本
    public static void updateBook(String fileName) throws IOException {
        //思路:键盘录入一个书名,到集合中去查找,看是否有图书使用书名,有就修改
        Dao dao = new Dao();

        //创建集合对象
        ArrayList<Book> array = new ArrayList<Book>();

        //从文件中把数据独到集合中
        dao.readDate(fileName, array);

        //创建键盘录入对象
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你要修改书本的书名:");
        String bookname = scanner.nextLine();

        //定义一个索引
        int index = -1;
        int i;

        //遍历集合
        for (i = 0; i < array.size(); i++) {
            //获取每一个书本对象
            Book b = array.get(i);
            //拿书本对象的书名和键盘录入的名称进行比较
            if (b.getBookName().equals(bookname)) {
                index = i;
                break;
            }
        }
        if (index == -1) {
            System.out.println("不好意思,你要修改的书本对应的名称不存在,请回去重新你的选择");
        } else {
            System.out.println("请输入新的作者");
            String author = scanner.nextLine();
            System.out.println("请输入新的出版社");
            String publish = scanner.nextLine();
            System.out.println("请输入新的出版日期");
            String publishDate = scanner.nextLine();
            System.out.println("请输入新的印刷次数");
            String printTime = scanner.nextLine();
            System.out.println("请输入新的单价");
            String unitPrice = scanner.nextLine();
            System.out.println("请输入新的类型名称");
            String typeName = scanner.nextLine();
            System.out.println("请输入新的ISBN");
            String ISBN = scanner.nextLine();

            //创建书本对象
            Book b = new Book();
            b.setBookName(bookname);
            b.setAuthor(author);
            b.setPublish(publish);
            b.setPublishDate(publishDate);
            b.setPrintTime(printTime);
            b.setUnitPrice(unitPrice);
            b.setTypeName(typeName);
            b.setISBN(ISBN);
            b.setState(array.get(i).getState());

            //修改集合中的学生对象
            array.set(index, b);

            //把集合中的数据重新写回到文件
            dao.writeDate(fileName, array);

            //给出提示
            System.out.println("修改书本成功");



        }
    }
}

用户

用户类

包含他所有的属性和get、set方法

public class Users {
    private String id;//账号
    private String password;//密码

    public Users() {
    }

    public Users(String id, String password) {
        this.id = id;
        this.password = password;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}
用户操作
public class UsersOperation {
    AdminMenu adminMenu = new AdminMenu();
    UserMenu userMenu = new UserMenu();


    Scanner sc = new Scanner(System.in);
    String id;
    String password;

    //登录
    public void logIn(String userName) throws IOException {
        Dao dao = new Dao();

        ArrayList<Users> user = new ArrayList<Users>();

        dao.readUser(userName, user);

//        Scanner sc = new Scanner(System.in);

        boolean flag2 = true;
        while (flag2) {
            System.out.println("请输入你的账号:");

            id = sc.nextLine();

            if (id.equals("admin")) {
                System.out.println("请输入你的账户密码:");
                password = sc.nextLine();
                if (password.equals("admin")) {
                    adminMenu.Menu(id);
                } else {
                    System.out.println("密码错误");
                    break;
                }
            }
            boolean flag = false;
            for (int i = 0; i < user.size(); i++) {
                Users u = user.get(i);
                if (u.getId().equals(id)) {
                    flag = true;
                    break;
                }
            }
            if (flag) {
                System.out.println("请输入你的账户密码:");
                flag2 = false;
                password = sc.nextLine();

                boolean flag1 = false;
                Users u;
                for (int i = 0; i < user.size(); i++) {
                    u = user.get(i);
                    if (u.getPassword().equals(password)) {
                        flag1 = true;
                        break;
                    }
                }
                if (flag1) {
                    System.out.println("登录成功");

                    userMenu.userMenu(id);

                    break;

                } else {
                    System.out.println("密码错误,请重新输入密码");
                    continue;
                }

            } else {
                System.out.println("还没有注册账号,请先注册。");
                break;
            }
        }

    }


    //注册
    public void logOn(String userName) throws IOException {
        Dao dao = new Dao();

        ArrayList<Users> user = new ArrayList<Users>();

        dao.readUser(userName, user);

        Scanner sc = new Scanner(System.in);

        String id;
        while (true) {
            System.out.println("请输入想要注册的账号:");
            id = sc.nextLine();

            boolean flag = false;
            for (int i = 0; i < user.size(); i++) {
                Users u = user.get(i);

                if (u.getId().equals(id)) {
                    flag = true;
                    break;
                }
            }
            if (flag) {
                System.out.println("你输入的账号已经存在,请重新输入。");
            } else {
                break;
            }
        }

        System.out.println("请输入密码:");
        String password = sc.nextLine();

        Users users = new Users();
        users.setId(id);
        users.setPassword(password);

        user.add(users);

        dao.writeUser(userName, user);

        System.out.println("注册成功");


    }

    //查看已借阅的书籍
//    public void showBorrower(String borrowName,String id) throws IOException {
//
//        Dao dao = new Dao();
//
//        ArrayList<Book> show = new ArrayList<>();
//        dao.readBorrow(borrowName,show);
//
//        int index = -1;
//
//        //遍历集合
//        for (int i = 0; i < show.size(); i++) {
//            Book b = show.get(i);
//            if (b.getId().equals(id)) {
//                index = i;
//                break;
//            }
//        }
//
//
//    }

    //修改信息
    public void updateUser(String userName) throws IOException {
        Dao dao = new Dao();

        ArrayList<Users> users = new ArrayList<Users>();

        dao.readUser(userName, users);

        int i;
        for (i = 0; i < users.size(); i++) {
            Users u = users.get(i);
            break;
        }
        System.out.println("请输入新的密码:");
        String password = sc.nextLine();

        Users u = new Users();
        u.setId(users.get(i).getId());
        u.setPassword(password);

        users.set(i, u);

        dao.writeUser(userName, users);

        System.out.println("修改信息成功");
    }

    //借书
    public void borrowBook(String fileName, String borrowName, String id) throws IOException {
        UsersOperation usersOperation = new UsersOperation();
//        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");


        Scanner scanner = new Scanner(System.in);

        Dao dao = new Dao();
        BookOperation bookOperation = new BookOperation();

        bookOperation.findAllBook(fileName);

        //把书本信息加入books数组中
        ArrayList<Book> books = new ArrayList<>();
        dao.readDate(fileName, books);

        //新建借书的数组,好存入借书信息
        ArrayList<Book> borrow = new ArrayList<>();


        System.out.println("请输入你想借书的书名:");
        String bookName = scanner.nextLine();

        boolean flag = false;
        int i;

        for (i = 0; i < books.size(); i++) {
            Book b = books.get(i);
            if (b.getBookName().equals(bookName) && b.getState().equals("否")) {

                flag = true;
                break;
            }
        }
        if (flag) {
            Book b = new Book();
            b.setId(id);
            b.setBookName(bookName);
            b.setBorrowDate(usersOperation.borrowTime());
            b.setRevertDate(usersOperation.revertTime());

            borrow.add(b);
            dao.writeBorrow(borrowName, borrow);

            b.setBookName(books.get(i).getBookName());
            b.setAuthor(books.get(i).getAuthor());
            b.setPublish(books.get(i).getPublish());
            b.setPublishDate(books.get(i).getPublishDate());
            b.setPrintTime(books.get(i).getPrintTime());
            b.setUnitPrice(books.get(i).getUnitPrice());
            b.setTypeName(books.get(i).getTypeName());
            b.setISBN(books.get(i).getISBN());
            b.setState("是");

            books.set(i, b);
            dao.writeDate(fileName, books);

            System.out.println("借书成功");


        } else {
            System.out.println("书本不存在或被借出请重新选择");
        }


    }

    //还书
    public void revertBook(String fileName, String borrowName, String id) throws IOException {
        Dao dao = new Dao();

        //创建集合对象
        ArrayList<Book> revert = new ArrayList<Book>();
        //从文件中把数据独到集合中
        dao.readBorrow(borrowName, revert);

        ArrayList<Book> books = new ArrayList<>();
        dao.readDate(fileName, books);

        Scanner scanner = new Scanner(System.in);

        String bookname;

        System.out.println("请输入书名");
        bookname = scanner.nextLine();

        //判断书名是否重复
        //定义标记
        boolean flag = false;
        //遍历集合,得到每一本书
        for (int i = 0; i < revert.size(); i++) {
            Book b = revert.get(i);
            //获取图书的书名,和键盘录入的书名进行比较
            if (b.getBookName().equals(bookname) && b.getId().equals(id)) {
                flag = true;//说明书名被占用了
                break;
            }
        }
        if (flag) {
            int i;
            for (i = 0; i < books.size(); i++) {
                Book b = books.get(i);
                //获取图书的书名,和键盘录入的书名进行比较
                if (b.getBookName().equals(bookname)) {
                    break;
                }
            }
            Book b1 = new Book();
            b1.setBookName(books.get(i).getBookName());
            b1.setAuthor(books.get(i).getAuthor());
            b1.setPublish(books.get(i).getPublish());
            b1.setPublishDate(books.get(i).getPublishDate());
            b1.setPrintTime(books.get(i).getPrintTime());
            b1.setUnitPrice(books.get(i).getUnitPrice());
            b1.setTypeName(books.get(i).getTypeName());
            b1.setISBN(books.get(i).getISBN());
            b1.setState("否");

            books.set(i, b1);
            dao.writeDate(fileName, books);
            System.out.println("还书成功");
        } else {
            System.out.println("书本不存在或不是你借走的");
        }
    }

    //借书时间
    public String borrowTime() {
        Calendar calendar = Calendar.getInstance();
        long createTime = calendar.getTimeInMillis();

        SimpleDateFormat form1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String res = form1.format(createTime);
        return res;
    }

    //还书时间
    public String revertTime() {
        Calendar calendar = Calendar.getInstance();
        long createTime = calendar.getTimeInMillis();

        SimpleDateFormat form1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String res = form1.format(createTime);

        calendar.set(Calendar.DAY_OF_YEAR, calendar.get(Calendar.DAY_OF_YEAR) + 7);


        Date today = calendar.getTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String result = format.format(today);
        return result;
    }
}

UI界面

管理员登录界面
public class AdminMenu {
    public void Menu(String id) throws IOException {

        BookOperation book = new BookOperation();

        //创建集合对象,用于存储图书数据
        String fileName = "F:\\java\\MyLibraryManager\\src\\Book.txt";

        //为了让程序能够回到这里来,使用循环
        while (true) {
            //主界面
            System.out.println("--------欢迎来到图书管理系统--------");
            System.out.println("1.查看所有图书");
            System.out.println("2.添加图书");
            System.out.println("3.删除图书");
            System.out.println("4.修改图书");
            System.out.println("5.退出系统");
            System.out.println("请输入你的选择:");
            //创建键盘录入的对象
            Scanner scanner = new Scanner(System.in);
            String choiceString = scanner.nextLine();
            //用switch语句实现选择
            switch (choiceString) {
                case "1":
                    //查看所有图书
                    book.findAllBook(fileName);
                    continue;
                case "2":
                    //添加图书
                    book.addBook(fileName);
                    continue;
                case "3":
                    //删除图书
                    book.deleteBook(fileName);
                    continue;
                case "4":
                    //修改图书
                    book.updateBook(fileName);
                    continue;
                case "5":
                    //退出
                    //System.out.println("谢谢你的使用");
                    //break;
                default:
                    System.out.println("谢谢你的使用");
                    System.exit(0);//JVM退出
                    continue;
            }
        }

    }
}
登录界面

也是程序的入口

public class Login {
    public static void main(String[] args) throws IOException {
        UsersOperation usersOperation = new UsersOperation();

        String userName = "F:\\java\\MyLibraryManager\\src\\User.txt";
        while (true) {
            System.out.println("--------欢迎来到图书管理系统--------");
            System.out.println("1.登录");
            System.out.println("2.注册");
            System.out.println("3.退出系统");

            Scanner sc = new Scanner(System.in);
            String choiceLogin = sc.nextLine();

            switch (choiceLogin) {
                case "1":
                    //登录
                    usersOperation.logIn(userName);
                    break;
                case "2":
                    //注册
                    usersOperation.logOn(userName);
                    break;
                case "3":
                    //退出
                default:
                    System.out.println("谢谢你的使用");
                    System.exit(0);//JVM退出
                    break;

            }
        }
    }
}
用户登录界面
public class UserMenu {
    public void userMenu(String id) throws IOException {
        UsersOperation usersOperation = new UsersOperation();

        String fileName = "F:\\java\\MyLibraryManager\\src\\Book.txt";
        String userName = "F:\\java\\MyLibraryManager\\src\\User.txt";
        String borrowName = "F:\\java\\MyLibraryManager\\src\\Borrow.txt";

        BookOperation bookOperation = new BookOperation();
        while (true) {


            System.out.println("--------欢迎来到图书管理系统--------");
            System.out.println("1.查看所有图书");
//            System.out.println("2.查看已借阅书籍");
            System.out.println("2.修改个人信息");
            System.out.println("3.借书");
            System.out.println("4.还书");
            System.out.println("5.退出系统");

            Scanner scanner = new Scanner(System.in);
            String choiceString = scanner.nextLine();

            switch (choiceString) {
                case "1":
                    //查看所有图书
                    bookOperation.findAllBook(fileName);
                    continue;
//                case "2":
//                    //查看已借阅书籍
//                    continue;
                case "2":
                    //修改个人信息
                    usersOperation.updateUser(userName);
                    continue;
                case "3":
                    //借书
                    usersOperation.borrowBook(fileName, borrowName,id);
                    continue;
                case "4":
                    //还书
                    usersOperation.revertBook(fileName,borrowName,id);
                    continue;
                case "5":
                    //退出
                    //System.out.println("谢谢你的使用");
                    //break;
                default:
                    System.out.println("谢谢你的使用");
                    System.exit(0);//JVM退出
                    break;
            }
        }

    }
}

总结

第一个项目对于我来说难度还是有点大,IO流这一块是卡的最久的地方,有想法但是难以实现在代码上,编程的语感不够,基础还是有点不牢固。但是在最后也还是完成了项目,实现了大部分的功能。继续学习以后完善这个项目。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值