zoukankan      html  css  js  c++  java
  • java实现一个简单的图书管理系统

    定义图书类Book,具有属性账号id,书名name、作者author 和价格price,在创建图书对象时要求通过构造器进行创建,一次性将四个属性全部赋值,要求账号属性是int型,书名是String型,作者是String型,价格是double。在创建好用户后,书名不能进行更改,只可以进行访问。其他请合理进行封装。 在Book类,添加toString方法,要求返回 图书信息字符串,使用** **隔开各信息。 定义管理类Manager,定义添加图书的方法add、按书名修改价格的方法 update、按照账号删除图书的方法delete、按账号查询图书的方法query 要求返回Book类型、按作者查询的图书的方法 query 要求返回Book类型、查询所有图书的方法 showAll、按价格降序排序方法 sort。

    参考代码:

    Book.java:文件
    
    
    public class Book {
        private int id;
        private String name;
        private String author;
        private double price;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public String getAuthor() {
            return author;
        }
    
        public void setAuthor(String author) {
            this.author = author;
        }
    
        public double getPrice() {
            return price;
        }
    
        public void setPrice(double price) {
            this.price = price;
        }
    
        public Book(int id, String name, String author, double price) {
            this.id = id;
            this.name = name;
            this.author = author;
            this.price = price;
        }
    
        @Override
        public String toString() {
            return "Book{id="+id+"	name="+name+"	author="+author+"	price="+price+"}";
        }
    }
    

     

    Manager.java:文件
    
    public class Manager {
        //定义一个集合来存储图书信息
        private ArrayList<Book> list = new ArrayList<>();
    
        /**
         * 添加图书
         * @param book
         */
        public void add(Book book){
            list.add(book);
        }
    
        /**
         * 修改--根据书名修改价格
         * @param name
         * @param price
         */
        public void update(String name,double price){
            for (int i = 0; i < list.size(); i++) {
                Book book = list.get(i);
                if (name.equals(book.getName())){
                    book.setPrice(price);
                    System.out.println("修改成功:"+book);
                }
            }
        }
    
        /**
         * 根据id删除图书
         * @param id
         */
        public void delete(int id){
            for (int i = 0; i < list.size(); i++) {
                Book book = list.get(i);
                if (id==book.getId()){
                    list.remove(book);
                    System.out.println("删除成功");
                }
            }
        }
    
        /**
         * 查询--根据id查询图书信息
         * @param id
         */
        public Book query(int id){
            for (int i = 0; i < list.size(); i++) {
                Book book = list.get(i);
                if (id==book.getId()){
                    System.out.println(book);
                    return book;
                }
            }
            return null;
        }
    
        /**
         * 查询--根据图书名称查询图书信息
         * @param name
         */
        public Book query(String name){
            for (int i = 0; i < list.size(); i++) {
                Book book = list.get(i);
                if (name.equals(book.getName())){
                    System.out.println(book);
                    return book;
                }
            }
            return null;
        }
    
    
        /**
         * 展示所有图书信息
         */
        public void showAll(){
            for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
        }
    
        /**
         * 按照价格降序排序
         */
        public void sort(){
            Collections.sort(list, new Comparator<Book>() {
                @Override
                public int compare(Book o1, Book o2) {
                    return -(int)(o1.getPrice()-o1.getPrice());
                }
            });
        }
    }
    

      

    Test.java:文件
    
    
    public static void main(String[] args) {
            //实例manager对象
            Manager manager = new Manager();
            //添加书籍
            manager.add(new Book(1,"三国演义","罗贯中",97.5));
            manager.add(new Book(2,"水浒传","施耐庵",67));
            manager.add(new Book(3,"西游记","吴承恩",76));
            manager.add(new Book(4,"红楼梦","曹雪芹",50));
            manager.add(new Book(5,"小说","兰陵笑笑生",25));
    
            //根据id查询图书
            manager.query(03);
    
            //根据图书名称查询
            manager.query("三国演义");
    
            //根据名称修改价格
            manager.update("小说",55);
    
            //删除图书
            manager.delete(5);
    
            //排序
            manager.sort();
            manager.showAll();
        }
    }
    

      

    效果如何:
    

      

  • 相关阅读:
    DOM(文档对象模型)
    客户端检测
    mysql之触发器
    mysql之select(二)
    浅谈mysql中varchar(m)与char(n)的区别与联系
    mysql之select(一)
    mysql(一)
    mysql5.7.11安装遇到的问题
    Java 网络编程(二)
    Java 网络编程(一)
  • 原文地址:https://www.cnblogs.com/zyx0623/p/14064025.html
Copyright © 2011-2022 走看看