目录
1.AddOperation(新增图书)
2.BoorrowOperation(借阅图书)
3.DelOperation(删除图书)
4.ExitOperation(退出图书)
5. FindOperation(查找图书)
6.IOPeration
7.ReturnOperation(归还图书)
8.ShowOperation(显示图书)
package operation;
import book.Book;
import book.BookList;
import com.sun.jdi.InconsistentDebugInfoException;
import java.util.Scanner;
public class AddOperation implements IOPeration {
@Override
public void work(BookList bookList) {
System.out.println("新增图书");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入书名:");
String name = scanner.nextLine();
System.out.println("请输入作者:");
String author = scanner.nextLine();
System.out.println("请输入类型");
String type = scanner.nextLine();
System.out.println("请输入价格:");
int prince = scanner.nextInt();
Book book = new Book(name,author,prince,type);
//检查数组中有没有这本书
int currentSize = bookList.getUsedSize();
for (int i = 0; i < currentSize; i++) {
Book book1 = bookList.getBook(i);
if(book1.getName().equals(name)){
System.out.println("有这本书,不能放");
return;
}
}
if(currentSize == bookList.getBooks().length){
System.out.println("书架满了");
}else {
bookList.setBooks(currentSize,book);
bookList.setUsedSize(currentSize+1);
}
}//快捷键shift+回车
}
这段代码是一个图书管理系统中的新增图书操作的实现。它实现了IOPeration接口,并重写了work方法。下面是对代码的分析:
导入了必要的类和包,包括book.Book、book.BookList、com.sun.jdi.InconsistentDebugInfoException和java.util.Scanner。
实现了IOPeration接口,并覆盖了work方法。
work方法中首先通过Scanner从控制台获取用户输入的书名、作者、类型和价格。
创建一个新的Book对象,将获取到的书名、作者、价格和类型作为参数传递给Book的构造函数来创建这本书。
检查图书列表中是否已经存在了同名的书籍,如果存在则输出提示信息并返回,不进行添加操作。
如果图书列表未满,则将新书添加到图书列表中,并更新图书列表的使用大小。
如果图书列表已满,则输出提示信息表示图书架已满。
总体来说,这段代码实现了向图书列表中添加图书的功能,并进行了一些基本的输入验证和错误处理。
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
public class BoorrowOperation implements IOPeration{
@Override
public void work(BookList bookList) {
System.out.println("借阅图书");
/*
*1。你要借阅那本书?
* 2.你借阅的书有没有?
* 3.借阅的方式是什么
*/
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要借阅的图书:");
String name = scanner.nextLine();
int currentSize = bookList.getUsedSize();
for (int i = 0; i < currentSize; i++) {
Book book = bookList.getBook(i);
if(book.getName().equals(name)){
book.setBorrowed(true);
System.out.println("借阅成功!");
System.out.println(book);
return;
}
}
System.out.println("你借阅的图书不存在");
}//快捷键shift+回车
}
这段代码是图书管理系统中借阅图书操作的实现。它同样实现了IOPeration接口,并重写了work方法。下面是对代码的分析:
导入了必要的类和包,包括book.Book和book.BookList以及java.util.Scanner。
实现了IOPeration接口,并覆盖了work方法。
work方法中首先通过Scanner从控制台获取用户输入的要借阅的图书名称。
获取图书列表当前的使用大小,然后遍历图书列表,查找用户要借阅的图书。
如果找到了用户要借阅的图书,则将该图书的借阅状态设置为true,并输出借阅成功的提示信息,同时打印出借阅的图书信息。
如果没有找到用户要借阅的图书,则输出提示信息表示用户借阅的图书不存在。
总体来说,这段代码实现了借阅图书的功能,当用户输入要借阅的图书名称后,会在图书列表中查找该图书并进行借阅操作。在找到图书并成功借阅后,会更新图书的借阅状态并输出相应的信息。
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
public class DelOperation implements IOPeration{
@Override
public void work(BookList bookList) {
System.out.println("删除图书");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要删除的图书:");
String name = scanner.nextLine();
int pos = -1;
int currentSize = bookList.getUsedSize();
int i = 0;
for (; i < currentSize; i++) {
Book book = bookList.getBook(i);
if(book.getName().equals(name)){
pos = i;
break;
}
}
if(i == currentSize){
System.out.println("没有你要删除的图书!");
return;
}//开始删除
int j = pos;
for (; j < currentSize-1; j++) {
//[j] = [j+1]
Book book = bookList.getBook(j+1);
bookList.setBooks(j,book);
}
bookList.setBooks(j,null);
bookList.setUsedSize(currentSize-1);
}//快捷键shift+回车
}
这段代码是图书管理系统中删除图书操作的实现。它同样实现了IOPeration接口,并重写了work方法。下面是对代码的分析:
导入了必要的类和包,包括book.Book和book.BookList以及java.util.Scanner。
实现了IOPeration接口,并覆盖了work方法。
work方法中首先通过Scanner从控制台获取用户输入的要删除的图书名称。
初始化变量pos为-1,用于记录要删除的图书在图书列表中的位置。
获取图书列表当前的使用大小,然后遍历图书列表,查找用户要删除的图书。
如果找到了用户要删除的图书,则将pos设为当前位置并跳出循环。
如果循环结束时pos仍为初始值-1,表示没有找到用户要删除的图书,则输出相应的提示信息,并返回。
在找到图书并确定要删除后,使用另一个循环从pos开始,将后面的图书依次向前移动一位,覆盖掉前一个位置的图书。
将最后一个位置的图书设为null,表示该位置为空。
更新图书列表的使用大小,减少1。
总体来说,这段代码实现了删除图书的功能。当用户输入要删除的图书名称后,会在图书列表中查找该图书并进行删除操作。如果找到了图书,则将后面的图书依次向前移动一位,并将最后一个位置设置为空。如果没有找到图书,则输出相应的提示信息。
package operation;
import book.BookList;
public class ExitOperation implements IOPeration{
@Override
public void work(BookList bookList) {
System.out.println("退出图书");
System.exit(0);
}//快捷键shift+回车
}
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
public class FindOperation implements IOPeration{
@Override
public void work(BookList bookList) {
System.out.println("查找图书");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
//遍历数组
int currenSize = bookList.getUsedSize();
for (int i = 0; i < currenSize; i++) {
Book book = bookList.getBook(i);
if(book.getName().equals(name)){
System.out.println("找到了这本书,信息如下:");
System.out.println(book);
return;
}
}
System.out.println("没有找到这本书。");
}//快捷键shift+回车
}
这段代码是图书管理系统中查找图书操作的实现。它同样实现了IOPeration接口,并重写了work方法。下面是对代码的分析:
导入了必要的类和包,包括book.Book和book.BookList以及java.util.Scanner。
实现了IOPeration接口,并覆盖了work方法。
work方法中首先打印输出了"查找图书"的提示信息。
创建了一个Scanner对象,用于从控制台获取用户输入的要查找的图书名称。
获取用户输入的图书名称后,遍历图书列表,查找是否存在该名称的图书。
如果找到了对应名称的图书,则输出相应的信息并返回。
如果遍历结束后仍未找到对应名称的图书,则输出相应的提示信息。
总体来说,这段代码实现了查找图书的功能。当用户输入要查找的图书名称后,会在图书列表中查找该图书并输出相应的信息。
package operation;
import book.BookList;
public interface IOPeration {
void work(BookList bookList);
}
package operation;
import book.Book;
import book.BookList;
import java.util.Scanner;
public class ReturnOperation implements IOPeration{
@Override
public void work(BookList bookList) {
System.out.println("归还图书");
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你要归还的图书:");
String name = scanner.nextLine();
int currentSize = bookList.getUsedSize();
for (int i = 0; i < currentSize; i++) {
Book book = bookList.getBook(i);
if(book.getName().equals(name)){
book.setBorrowed(false);
System.out.println("归还成功!");
System.out.println(book);
return;
}
}
System.out.println("你归还的图书不存在");
}//快捷键shift+回车
}
这段代码是图书管理系统中归还图书操作的实现。它同样实现了IOPeration接口,并重写了work方法。下面是对代码的分析:
导入了必要的类和包,包括book.Book和book.BookList以及java.util.Scanner。
实现了IOPeration接口,并覆盖了work方法。
work方法中首先打印输出了"归还图书"的提示信息。
创建了一个Scanner对象,用于从控制台获取用户输入的要归还的图书名称。
获取用户输入的图书名称后,遍历图书列表,查找是否存在该名称的图书。
如果找到了对应名称的图书,将该图书的借阅状态设置为false,表示已归还,并输出相应的成功归还信息。
如果遍历结束后仍未找到对应名称的图书,则输出相应的提示信息。
总体来说,这段代码实现了归还图书的功能。当用户输入要归还的图书名称后,会在图书列表中查找该图书并进行归还处理。
package operation;
import book.Book;
import book.BookList;
public class ShowOperation implements IOPeration{
@Override
public void work(BookList bookList) {
System.out.println("显示图书");
int currentSize = bookList.getUsedSize();
for (int i = 0; i < currentSize; i++) {
Book book = bookList.getBook(i);
System.out.println(book);
}
//快捷键shift+回车
}
}
这段代码是图书管理系统中显示图书操作的实现。它同样实现了IOPeration接口,并重写了work方法。下面是对代码的分析:
导入了必要的类和包,包括book.Book和book.BookList。
实现了IOPeration接口,并覆盖了work方法。
work方法中首先打印输出了"显示图书"的提示信息。
获取当前图书列表中已使用的大小。
使用循环遍历图书列表,获取每本图书的信息并打印输出。
总体来说,这段代码实现了显示图书的功能。当调用该操作时,会遍历图书列表并逐个输出每本图书的信息。