使用类和对象、方法、循环、List、泛型来实现简单的图书管理系统

Book.java


import java.util.List;
import java.util.Scanner;
public class Book {

    private String name;
    private String author;

    Scanner scanner = new Scanner(System.in);
  //  List booklist = new ArrayList<>();      这句没有 因为如果有了 我book中函数查的booklist和主函数是两个list

    public boolean select(String findname, List booklist) {

        boolean a = true;
        for (Object book : booklist) {

            if (((Book)book).name.equals(findname)) {

                a = false;
                System.out.println("找到了书籍!");
                return !a;
            }

        }
        if (a) {

            System.out.println("此书不存在!");
            return !a;
        } else {
            return a;
        }
    }


    public Book() {
    }

    public Book(String name, String author) {
        this.name = name;
        this.author = author;
    }


    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                ", author='" + author + '\'' +
                '}';
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAuthor() {
        return author;
    }

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

}

MainClass.java


import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class MainClass {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        Book booksystem  = new Book();
        List booklist = new ArrayList<>();        //新建booklist

        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("6. 退出系统");
            System.out.println("----------------------------------------");
            System.out.println("请输入选择的功能:");

            int i = scanner.nextInt();
            if (i == 1){

                System.out.println("请输入新的书名");
                String bookname = scanner.next();       //获取输入的书名

                System.out.println("请输入书的作者");
                String bookauthor = scanner.next();     //获取输入的作者名

                Book newbook = new Book(bookname,bookauthor);

                booklist.add(newbook);

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

            } else if (i == 2){

                System.out.println("请输入想要查找的书名");
                String findname = scanner.next();       //获取想要查找的名

                booksystem.select(findname,booklist);

            } else if (i == 3){

                System.out.println("请输入想要修改的书名");
                String wantname = scanner.next();

                boolean bool = booksystem.select(wantname,booklist);

                if (bool){

                    for (Book book : booklist) {

                        if (book.getName().equals(wantname)){

                            System.out.println("请输入图书的新名字:");
                            String altername = scanner.next();

                            book.setName(altername);
                            System.out.println("此书已修改!!");

                            break;
                        }
                    }
                }
            }
            else if (i == 4){

                System.out.println("请输入想要删除的书名");
                String deletename = scanner.next();

                boolean bool = booksystem.select(deletename,booklist);

                if (bool){

                    for (Book book : booklist) {

                        if (book.getName().equals(deletename)){

                            booklist.remove(book);
                            System.out.println("此书已删除!!");
                            break;
                        }
                    }

                }
            }
            else if (i == 5){

                for (Object o : booklist) {

                    System.out.println(o);
                }


            } else if (i == 6){
                System.out.println("----------您已退出系统----------");
                break;
            }
        }
    }
}

删除的标准写法:迭代器
我的写法 不规范 会有问题 建议使用迭代器


public void deleteBooks() {
System.out.println("请输入要删除的书籍名:");
String delName = this.input.next();
Iterator bookIterator = this.bookList.iterator();
    while(bookIterator.hasNext()) {
        Book book = (Book)bookIterator.next();
        if (book.getName().equals(delName)) {
            System.out.println("找到图书");
            bookIterator.remove();
            System.out.println("成功删除!");
        }
    }
}

样例测试

添加
925370-20190318092213199-1197408426.png
925370-20190318092347240-1650655355.png

查找
925370-20190318092256255-1578876577.png

修改
925370-20190318092313859-1751704952.png

删除
925370-20190318092433921-587895467.png

列出
925370-20190318092456306-1120338182.png

退出
925370-20190318092517327-2138650079.png

大仁哥的样例jar包

链接:https://pan.baidu.com/s/1zaZ6wvN0BT71svERI0d_0g
提取码:8der

jar包的反编译器

链接:https://pan.baidu.com/s/1GMi1ZVM4y02n_Pjp3s4nhg
提取码:duva

操作方式:解压后双击exe文件打开——文件——反编译jar——选择jar包

转载于:https://www.cnblogs.com/lzb1234/p/10550313.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值