图书管理系统java集合
时间: 2023-11-30 22:40:39 浏览: 123
以下是一个简单的图书管理系统的Java集合实现:
首先,我们需要定义一个Book类,它具有账号id、书名name、作者author和价格price属性。在创建Book对象时,我们需要通过构造器一次性将这四个属性全部赋值,并且需要进行合理的封装。
```java
public class Book {
private int id;
private String name;
private String author;
private double price;
public Book(int id, String name, String author, double price) {
this.id = id;
this.name = name;
this.author = author;
this.price = price;
}
// 封装getter和setter方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
```
接下来,我们需要定义一个Manager类,它具有添加图书的方法add、按书名修改价格的方法update、按账号查询图书的方法queryById、按作者查询的图书的方法queryByAuthor和查询所有图书的方法showAll。在这个类中,我们使用了Java集合ArrayList来存储所有的Book对象。
```java
import java.util.ArrayList;
public class Manager {
private ArrayList<Book> books;
public Manager() {
books = new ArrayList<Book>();
}
// 添加图书
public void add(Book book) {
books.add(book);
}
// 按书名修改价格
public void update(String name, double price) {
for (Book book : books) {
if (book.getName().equals(name)) {
book.setPrice(price);
}
}
}
// 按账号查询图书
public Book queryById(int id) {
for (Book book : books) {
if (book.getId() == id) {
return book;
}
}
return null;
}
// 按作者查询图书
public Book queryByAuthor(String author) {
for (Book book : books) {
if (book.getAuthor().equals(author)) {
return book;
}
}
return null;
}
// 查询所有图书
public ArrayList<Book> showAll() {
return books;
}
}
```
现在,我们可以在主函数中创建一个Manager对象,并使用它来添加、修改、查询和显示图书信息。
```java
public static void main(String[] args) {
Manager manager = new Manager();
// 添加图书
Book book1 = new Book(1, "Java编程思想", "Bruce Eckel", 99.0);
Book book2 = new Book(2, "Effective Java", "Joshua Bloch", 88.0);
manager.add(book1);
manager.add(book2);
// 按书名修改价格
manager.update("Java编程思想", 109.0);
// 按账号查询图书
Book book3 = manager.queryById(2);
System.out.println(book3.getName() + " " + book3.getAuthor() + " " + book3.getPrice());
// 按作者查询图书
Book book4 = manager.queryByAuthor("Joshua Bloch");
System.out.println(book4.getName() + " " + book4.getAuthor() + " " + book4.getPrice());
// 查询所有图书
ArrayList<Book> books = manager.showAll();
for (Book book : books) {
System.out.println(book.getName() + " " + book.getAuthor() + " " + book.getPrice());
}
}
```
阅读全文