import java.util.Scanner;
/**
* @ClassName Person
* @Description 人
* @Author lzq
* @Date 2018/11/5 15:50
* @Version 1.0
**/
abstract class Person {
/**
* 查询书籍
* @param book_name
*/
public void inquireBook(String book_name) {
for(int i = 0;i < BookSystem.books.length;i++) {
if(BookSystem.books[i].getBook_name().equals(book_name)) {
System.out.println(BookSystem.books[i].toString());
return;
}
}
System.out.println("抱歉,没有这本书!请重新输入");
Scanner scanner = new Scanner(System.in);
String string = scanner.next();
inquireBook(string);
}
/**
* 退出
*/
public void logOut() {
BookSystem.start();
}
}
import java.util.Arrays;
import java.util.Scanner;
/**
* 用户
*/
public class User extends Person1{
private String user_name;
private int user_id;
public User(String user_name,int user_id) {
this.user_id = user_id;
this.user_name = user_name;
start();
}
/**
* 借阅书籍
* @return
*/
private boolean BorrowBook(String book_name) {
for(int i = 0;i < BookSystem.books.length;i++) {
if(BookSystem.books[i].getBook_name().equals(book_name)) {
BookSystem.deleteBook(book_name,i);
System.out.println("借阅成功!");
return true;
}
}
System.out.println("抱歉,没有这本书!");
return false;
}
/**
* 归还书籍
* @return
*/
private void returnBook(String book_name,String book_author_name,double book_price) {
BookSystem.addBook(book_name,book_author_name,book_price);
}
private void start() {
while(true) {
System.out.println("-----------------------" +
"用户"+user_name+"你好!"+"你需要:---------------------");
System.out.print("1:查询书籍 2:借阅书籍 3:归还书籍" +
" 4:退出 \n");
Scanner scanner = new Scanner(System.in) ;
int input = scanner.nextInt();
Scanner scanner1 = new Scanner(System.in) ;
switch (input) {
case 1:
System.out.println("请输入书籍名称");
String s1 = scanner1.next();
inquireBook(s1);
break;
case 2:
System.out.println("请输入书籍名称");
String s2 = scanner1.next();
BorrowBook(s2);
break;
case 3:
System.out.println("请输入书籍名称");
String s3 = scanner1.next();
System.out.println("请输入书籍作者名称");
String s4 = scanner1.next();
System.out.println("请输入书籍价格");
double x = scanner1.nextDouble();
returnBook(s3,s4,x);
break;
case 4:
logOut();
}
}
}
}
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
/**
* 管理员
*/
public class Admin extends Person1{
private String admin_name;
private int admin_id;
public Admin(String admin_name,int admin_id) {
this.admin_id = admin_id;
this.admin_name = admin_name;
start();
}
/**
* 整理书籍
*/
private void tidyBook() {
List<Book> list = Arrays.asList(BookSystem.books);
Collections.sort(list);
// System.out.println(list);
for(int i = 0;i < BookSystem.books.length;i++) {
System.out.println(BookSystem.books[i].toString());
}
}
/**
* 增加书籍
*/
private void addBook(String book_name,String book_author_name,double book_price) {
BookSystem.addBook(book_name,book_author_name,book_price);
}
/**
* 删除书籍
* @return
*/
private boolean deleteBook(String book_name) {
for(int i = 0;i < BookSystem.books.length;i++) {
if(BookSystem.books[i].getBook_name().equals(book_name)) {
BookSystem.deleteBook(book_name,i);
System.out.println("删除成功!");
return true;
}
}
System.out.println("抱歉,没有这本书!");
return false;
}
/**
* 打印书籍列表
* @return
*/
private void printBookTable() {
for(int i = 0;i < BookSystem.books.length;i++) {
System.out.print(BookSystem.books[i].toString()+" |--| ");
if(((i+1) % 2) == 0) {
System.out.println();
}
}
System.out.println();
}
private void start() {
while(true) {
System.out.println("-----------------------" +
"管理员"+admin_name+"你好!"+"你需要:---------------------");
System.out.print("1:整理书籍 2:查阅书籍 3:增加书籍" +
"4 :删除书籍 5:打印书籍列表 6:退出 \n");
Scanner scanner = new Scanner(System.in) ;
int input = scanner.nextInt();
Scanner scanner1 = new Scanner(System.in) ;
switch (input) {
case 1:
tidyBook();
break;
case 2:
System.out.println("请输入书籍名称");
String s1 = scanner1.next();
inquireBook(s1);
break;
case 3:
System.out.println("请输入书籍名称");
String s2 = scanner1.next();
System.out.println("请输入书籍作者名称");
String s3 = scanner1.next();
System.out.println("请输入书籍价格");
double x = scanner1.nextDouble();
addBook(s2,s3,x);
break;
case 4:
System.out.println("请输入书籍名称");
String s4 = scanner1.next();
deleteBook(s4);
break;
case 5:
printBookTable();
break;
case 6:
logOut();
break;
}
}
}
}
import java.util.Arrays;
import java.util.Scanner;
/**
* @ClassName BookSystem
* @Description 图书管理系统
* @Author lzq
* @Date 2018/11/5 16:30
* @Version 1.0
**/
public class BookSystem {
static Book[] books = {new Book("三国演义","罗贯中",59.9),
new Book("西游记","吴承恩",158.9),
new Book("红楼梦","曹雪芹",98.9),
new Book("钢铁是怎样练成的","尼古拉·阿列克谢耶维奇·奥斯特洛夫斯基",354.4),
new Book("三体","刘慈欣",118.4),
new Book("时间简史","史蒂芬·威廉·霍金",95.9),};
/**
* 删除书籍
* @param book
*/
public static void deleteBook(String book,int index) {
for(int i = index;i < books.length;i++) {
if(i == books.length-1) {
break;
}
books[i] = books[i+1];
}
books = Arrays.copyOf(books,books.length-1);
}
public static void addBook(String book_name,String book_author_name,double book_price) {
books = Arrays.copyOf(books,books.length+1);
books[books.length-1] = new Book(book_name,book_author_name,book_price);
System.out.println("添加成功!");
}
public static void start() {
while(true) {
System.out.println("------------图论科技图书管理系统------------");
System.out.print("请登录:1:普通用户 2:管理员登录\n\n");
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
switch(input) {
case 1 :
System.out.print("请输入姓名:");
String user_name = scanner.next();
System.out.print("请输入学号:");
int user_id = scanner.nextInt();
new User(user_name,user_id);
break;
case 2 :
System.out.print("请输入姓名:");
String admin_name = scanner.next();
System.out.print("请输入工号:");
int admin_id = scanner.nextInt();
new Admin(admin_name,admin_id) ;
break;
}
}
}
}
/**
* @ClassName Book
* @Description 书
* @Author lzq
* @Date 2018/11/5 15:56
* @Version 1.0
**/
public class Book implements Comparable<Book>{
private String book_name; //书名
private double book_price; //书的价格
private String book_author_name; //书的作者名字
public Book(String book_name,String book_author_name,double book_price) {
this.book_name = book_name;
this.book_author_name = book_author_name;
this.book_price = book_price;
}
public String getBook_name() {
return book_name;
}
public void setBook_name(String book_name) {
this.book_name = book_name;
}
public double getBook_price() {
return book_price;
}
public void setBook_price(double book_price) {
this.book_price = book_price;
}
public String getBook_author_name() {
return book_author_name;
}
public void setBook_author_name(String book_author_name) {
this.book_author_name = book_author_name;
}
@Override
public String toString() {
return book_name + " " + book_price +" "+ book_author_name;
}
@Override
public int compareTo(Book o) {
//return this.book_name.compareTo(o.book_name); //按名字排序
return (int)(this.book_price-o.book_price); //按价格排序
}
}
测试类
public class TestDemo {
public static void main(String[] args) {
BookSystem.start();
}
}