Java实现图书的借阅功能,不包含数据库
时间: 2023-05-27 21:03:40 浏览: 85
以下是一个简单的Java程序,实现图书的借阅功能。此程序不包含数据库,仅使用数组和基本输入输出函数。
首先定义一个Book类,存储书籍的相关信息。
```
public class Book {
private String title;
private String author;
private boolean isAvailable; // 是否可借阅
public Book(String title, String author) {
this.title = title;
this.author = author;
this.isAvailable = true; // 初始设置为可借阅
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
public boolean isAvailable() {
return isAvailable;
}
public void setAvailable(boolean available) {
isAvailable = available;
}
}
```
接下来定义一个Library类,用于管理图书馆中的书籍。
```
import java.util.Scanner;
public class Library {
private Book[] books;
public Library(int size) {
books = new Book[size];
}
public void addBook(int index, Book book) {
books[index] = book;
}
public Book getBook(int index) {
return books[index];
}
public int getSize() {
return books.length;
}
public void displayBooks() {
System.out.println("----- 当前所有书籍 -----");
for (int i = 0; i < getSize(); i++) {
System.out.printf("%d. %s - %s %s\n", i+1, getBook(i).getTitle(), getBook(i).getAuthor(), getBook(i).isAvailable() ? "[可借阅]" : "[已借出]");
}
}
public void borrowBook() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入需要借阅的书籍编号:");
int index = scanner.nextInt() - 1; // 用户输入从1开始,数组索引从0开始,需要进行相应的转换
if (index >= 0 && index < getSize()) {
Book book = getBook(index);
if (book.isAvailable()) {
book.setAvailable(false);
System.out.printf("《%s》借阅成功!\n", book.getTitle());
} else {
System.out.println("该书籍已经被借出,请选择其他书籍。");
}
} else {
System.out.println("请输入正确的书籍编号。");
}
}
public void returnBook() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入需要归还的书籍编号:");
int index = scanner.nextInt() - 1; // 用户输入从1开始,数组索引从0开始,需要进行相应的转换
if (index >= 0 && index < getSize()) {
Book book = getBook(index);
if (!book.isAvailable()) {
book.setAvailable(true);
System.out.printf("《%s》归还成功!\n", book.getTitle());
} else {
System.out.println("该书籍未被借出,请确认书籍编号是否正确。");
}
} else {
System.out.println("请输入正确的书籍编号。");
}
}
}
```
最后编写一个主程序,实现借阅功能的交互界面。
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Library library = new Library(5); // 假设图书馆最多存放5本书
// 添加一些示例书籍
library.addBook(0, new Book("Java入门", "张三"));
library.addBook(1, new Book("Python基础", "李四"));
library.addBook(2, new Book("深入浅出MySQL", "王五"));
library.addBook(3, new Book("计算机操作系统", "赵六"));
library.addBook(4, new Book("数据结构与算法", "钱七"));
while (true) {
System.out.println("\n请选择操作:");
System.out.println("1. 显示所有书籍");
System.out.println("2. 借阅书籍");
System.out.println("3. 归还书籍");
System.out.println("4. 退出");
int option = scanner.nextInt();
switch (option) {
case 1:
library.displayBooks();
break;
case 2:
library.borrowBook();
break;
case 3:
library.returnBook();
break;
case 4:
System.exit(0);
break;
default:
System.out.println("请输入正确的操作编号。");
}
}
}
}
```
运行程序,用户可以根据界面提示进行相应的操作。
请注意,此程序仅供参考。实际应用中,需要进行更完善的错误处理和数据验证,以确保程序的稳定性和安全性。
阅读全文