用Java编写一个程序,用于实现某书店图书的管理,具体功能如下 1)定义一个Book类,用于描述图书的静态动态特征; 2)定义一个集合,用于存储书店中所有的图书对象; 3)提供全部图书信息的显示功能; 4)提供根据书名的图书查找功能; 5)提供买书功能,即买书后,集合中相应删除该图书对象; 6)提供新进书功能,即书店购置了新的图书,相应的集合中应增加图书对象。 要求:系统有清晰的提示信息便于用户使用;应定义书店类,并恰当设计成员变量与成员方法。
时间: 2024-03-18 08:39:48 浏览: 47
图书管理系统 用Java编程
好的,我可以为您解答这个问题。下面是 Java 代码实现:
Book.java
```java
public class Book {
private String name; // 书名
private String author; // 作者
private double price; // 价格
public Book(String name, String author, double price) {
this.name = name;
this.author = author;
this.price = price;
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public double getPrice() {
return price;
}
@Override
public String toString() {
return "书名:" + name + ",作者:" + author + ",价格:" + price;
}
}
```
BookStore.java
```java
import java.util.ArrayList;
import java.util.Scanner;
public class BookStore {
private ArrayList<Book> books = new ArrayList<Book>(); // 存储书店中所有的图书对象
public void displayAllBooks() {
if (books.isEmpty()) {
System.out.println("书店中没有图书!");
return;
}
System.out.println("全部图书信息如下:");
for (Book book : books) {
System.out.println(book);
}
}
public void findBookByName() {
if (books.isEmpty()) {
System.out.println("书店中没有图书!");
return;
}
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要查找的书名:");
String name = scanner.nextLine();
for (Book book : books) {
if (book.getName().equals(name)) {
System.out.println("找到了该书:");
System.out.println(book);
return;
}
}
System.out.println("书店中没有该书!");
}
public void buyBook() {
if (books.isEmpty()) {
System.out.println("书店中没有图书!");
return;
}
Scanner scanner = new Scanner(System.in);
System.out.print("请输入要购买的书名:");
String name = scanner.nextLine();
for (int i = 0; i < books.size(); i++) {
Book book = books.get(i);
if (book.getName().equals(name)) {
System.out.println("购买成功!");
books.remove(i);
return;
}
}
System.out.println("书店中没有该书!");
}
public void addNewBook() {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入新书的书名:");
String name = scanner.nextLine();
System.out.print("请输入新书的作者:");
String author = scanner.nextLine();
System.out.print("请输入新书的价格:");
double price = scanner.nextDouble();
Book book = new Book(name, author, price);
books.add(book);
System.out.println("新书已加入书店!");
}
public static void main(String[] args) {
BookStore bookStore = new BookStore();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("欢迎来到书店,请选择操作:");
System.out.println("1. 显示全部图书信息");
System.out.println("2. 根据书名查找图书");
System.out.println("3. 购买图书");
System.out.println("4. 新进图书");
System.out.println("0. 退出");
int choice = scanner.nextInt();
scanner.nextLine(); // 读取换行符
switch (choice) {
case 1:
bookStore.displayAllBooks();
break;
case 2:
bookStore.findBookByName();
break;
case 3:
bookStore.buyBook();
break;
case 4:
bookStore.addNewBook();
break;
case 0:
System.out.println("谢谢光临!");
System.exit(0);
default:
System.out.println("无效的操作!");
}
System.out.println();
}
}
}
```
这个程序利用了面向对象的思想,将图书和书店分别抽象成了一个类,方便进行管理。在书店类中,我们定义了一个 ArrayList 类型的成员变量 books,用于存储书店中所有的图书对象。然后,我们提供了全部图书信息的显示功能、根据书名的图书查找功能、买书功能和新进书功能,这些功能都是通过对 books 变量的操作来实现的。最后,在 main 方法中,我们使用一个循环来不断提示用户选择操作,直到用户选择退出为止。
阅读全文