图书管理系统(面向对象的编程练习)
- 1.系统演示
- 2.设计框架讲解
- 3.代码的详细讲解
- 3.1 多本书籍的实现
- 3.2 不同操作人员的实现
- 3.3 不同work操作的实现
1.系统演示
下面主要展示系统的删除图书功能和显示图书功能,帮助大家在开始写代码前先了解图书管理系统的相关内容。
2.设计框架讲解
图书管理系统
- 如上述演示可以看出图书管理系统中涉及到多本书籍的操作,如《小王子》、《人生海海》、《人间信》等,所以应该创建数组储存这些书籍。(book类以一本书为对象描述书的名字、作者、价格等等)
- 不同的操作人员进行的操作是不同的,如上述演示中管理者有新增图书的操作,而使用者有借阅图书的操作。
3.代码的详细讲解
3.1 多本书籍的实现
由于这一部分比较简单,所以不在此赘述,直接上代码!!!
1、创建book类
public class book {
protected String bookName;
protected String author;
protected int price;
protected String type;
protected boolean condition;
public book(String bookName, String author, int price, String type, boolean condition) {
this.bookName = bookName;
this.author = author;
this.price = price;
this.type = type;
this.condition = condition;
}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public boolean isCondition() {
return condition;
}
public void setCondition(boolean condition) {
this.condition = condition;
}
}
2、创建booklist类
public class bookList {
private book[] list=new book[10];
private int number=3;
public bookList() {
this.list[0]= new book("小王子","安托万",17,"小说",true);
this.list[2]= new book("人生海海","麦家",39,"小说",true);
this.list[3]= new book("人间信","麦家",39,"小说",true);
}
}
3.2 不同操作人员的实现
1、创建父类people
2、创建子类manager
3、创建子类user
(和上述manager相似,不做过多解释)
4、目前为止的演示(主要检查不同操作人员的多态实现)
main函数
public class Main {
public static people login() {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入你的名字:");
String name = scanner.nextLine();
System.out.println("请选择:");
System.out.println("******1.管理者**");
System.out.println("******2.使用者**");
int choice = scanner.nextInt();
if (choice == 1) {
return new managers(name);
} else {
return new user(name);
}
}
public static void main(String[] args) {
bookList b=new bookList();
people p= login();
p.menu();
p.work();
}
}
结果展现
3.3 不同work操作的实现
1、创建IOPeration接口
2、演示上述代码(重新顺一下思路)
3、具体功能的实现
(以删除图书和展示图书为例)
//删除图书
public class Del implements IOPeration{
@Override
public void work(bookList b) {
Scanner scanner=new Scanner(System.in);
System.out.println("请输入您要删除的图书的名字:");
String name=scanner.nextLine();
int pos=-1;
int i=0;
//找书
for ( ; i < b.number; i++) {
if(b.list[i].getBookName().equals(name)){
pos=i;
break;
}
}
if(b.number==i){
System.out.println("这里没有你要找的书");
return;
}
//删书
for (int i1 = pos; i1 < b.number-1; i1++) {
b.list[pos]=b.list[pos+1];
}
b.number--;
System.out.println("删除成功");
}
}
//展示图书
public class Show implements IOPeration{
@Override
public void work(bookList b) {
System.out.println("显示图书.....");
for (int i = 0; i < b.number; i++) {
System.out.println(b.list[i].getBookName()+" "
+b.list[i].getAuthor()+" " +
b.list[i].getType()+" "+
b.list[i].getPrice()+" "+
b.list[i].isCondition());
}
}
}
这里以删除和展示图书为例,大家可以自行实现其他功能,有什么问题大家可以评论区交流呦~~~