需求分析
1. 确定系统的基本功能和界面设计。
2. 定义图书类(Book)及其属性和方法。
3. 定义图书管理系统类(LibrarySystem)及其属性和方法。
系统设计与实现
1. 创建一个图书类(Book),包含图书名称、作者、出版社等属性,并实现相关的get和set方法。
2. 创建一个图书管理系统类(LibrarySystem),包含添加图书、删除图书、查询图书信息等方法。
3. 在LibrarySystem类中,使用集合(如ArrayList)来存储图书信息。
4. 实现用户交互界面,可以使用命令行或者图形界面。
第一步:创建一个图书类(Book),包含图书名称、作者、出版社等属性
private String name;
private String author;
private String publisher;
public Book(String name,String author,String publisher) {
this.name=name;
this.author=author;
this.publisher=publisher;
}
第二步:图书名称、作者、出版社实现相关的get和set方法。
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 String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
第三步:创建一个图书管理系统类(LibrarySystem),包含添加图书、删除图书、查询图书信息等方法。
while (true) {
System.out.println("请选择你要进行的操作:1:添加图书,2:删除图书,3:查询图书,4:查看图书,5:退出系统");
// 键盘录入
Scanner sc = new Scanner(System.in);
String type = sc.next();
switch (type) {
case "1":
// 添加
addBook(list);
break;
case "2":
// 删除图书
deleteBook(list);
break;
case "3":
// 查询某本图书
findBookByName(list);
break;
case "4":
// 查看所有图书
findAllBooks(list);
break;
case "5":
System.out.println("感谢使用,再见");
System.exit(0); // 退出系统
default:
System.out.println("选择有误,请重新输入");
break;
}
}
第四步:在LibrarySystem类中,使用集合(如ArrayList)来存储图书信息。
//添加图书
private static void addBook(ArrayList
// TODO Auto-generated method stub
// 键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入图书信息:");
System.out.println("名称:");
String name = sc.next();
System.out.println("作者:");
String author = sc.next();
System.out.println("出版社:");
String publisher = sc.next();
// 将信息封装到图书对象
Book b = new Book(name, author, publisher);
// 添加到集合
list.add(b);
System.out.println("~~~添加成功~~~");
}
// 删除图书
private static void deleteBook(ArrayList
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要删除的图书名称:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
Book b = list.get(i);
if (name.equals(b.getName())) { // 图书存在
// 删除图书并结束方法
list.remove(i);
System.out.println("~~~删除成功~~~");
return;
}
}
System.out.println("没有该名称的图书信息");
}
// 根据图书的名称查询图书信息
private static void findBookByName(ArrayList
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要查询的图书名称:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
Book b = list.get(i);
if (name.equals(b.getName())) {
System.out.println("书名\t" + "作者\t" + "出版社");
System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());
return;
}
}
System.out.println("没有该名称图书信息");
}
// 查看所有图书信息
private static void findAllBooks(ArrayList
if (list == null || list.size() == 0) {
System.out.println("尚无图书信息");
return;
}
System.out.println("书名\t" + "作者\t" + "出版社");
for (int i = 0; i < list.size(); i++) {
Book b = list.get(i);
System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());
}
}
源代码:
Book.java:
package text;
public class Book {
private String name;
private String author;
private String publisher;
public Book(String name,String author,String publisher) {
this.name=name;
this.author=author;
this.publisher=publisher;
}
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 String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
}
LibrarySystem.java:
package text;
import java.util.*;
public class LibrarySystem {
public static void main(String[] args) {
// 创建集合用于存储图书信息
ArrayList
while (true) {
System.out.println("请选择你要进行的操作:1:添加图书,2:删除图书,3:查询图书,4:查看图书,5:退出系统");
// 键盘录入
Scanner sc = new Scanner(System.in);
String type = sc.next();
switch (type) {
case "1":
// 添加
addBook(list);
break;
case "2":
// 删除图书
deleteBook(list);
break;
case "3":
// 查询某本图书
findBookByName(list);
break;
case "4":
// 查看所有图书
findAllBooks(list);
break;
case "5":
System.out.println("感谢使用,再见");
System.exit(0); // 退出系统
default:
System.out.println("选择有误,请重新输入");
break;
}
}
}
//添加图书
private static void addBook(ArrayList
// TODO Auto-generated method stub
// 键盘录入
Scanner sc = new Scanner(System.in);
System.out.println("请输入图书信息:");
System.out.println("名称:");
String name = sc.next();
System.out.println("作者:");
String author = sc.next();
System.out.println("出版社:");
String publisher = sc.next();
// 将信息封装到图书对象
Book b = new Book(name, author, publisher);
// 添加到集合
list.add(b);
System.out.println("~~~添加成功~~~");
}
// 删除图书
private static void deleteBook(ArrayList
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要删除的图书名称:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
Book b = list.get(i);
if (name.equals(b.getName())) { // 图书存在
// 删除图书并结束方法
list.remove(i);
System.out.println("~~~删除成功~~~");
return;
}
}
System.out.println("没有该名称的图书信息");
}
// 根据图书的名称查询图书信息
private static void findBookByName(ArrayList
Scanner sc = new Scanner(System.in);
System.out.println("请输入您要查询的图书名称:");
String name = sc.next();
for (int i = 0; i < list.size(); i++) {
Book b = list.get(i);
if (name.equals(b.getName())) {
System.out.println("书名\t" + "作者\t" + "出版社");
System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());
return;
}
}
System.out.println("没有该名称图书信息");
}
// 查看所有图书信息
private static void findAllBooks(ArrayList
if (list == null || list.size() == 0) {
System.out.println("尚无图书信息");
return;
}
System.out.println("书名\t" + "作者\t" + "出版社");
for (int i = 0; i < list.size(); i++) {
Book b = list.get(i);
System.out.println(b.getName() + "\t" + b.getAuthor() + "\t" + b.getPublisher());
}
}
}