好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Java实现图书馆借阅系统

本文实例为大家分享了Java实现图书馆借阅系统的具体代码,供大家参考,具体内容如下

Main.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

package com.src1.booksystem;

 

import com.src1.booksystem.booklist.BookList;

import com.src1.booksystem.users.AdminUser;

import com.src1.booksystem.users.NormalUser;

import com.src1.booksystem.users.User;

 

 

import java.util.Scanner;

public class Main {

     public static void main(String[] args) {

         //1.准备书籍

         BookList bookList = new BookList();

         //2登录

         User user = login();

         while ( true ) {

             int chioce = user.menu();

             //3.根据选择调用方法

             user.doOperation(chioce, bookList);

         }

     }

     public static User login() {

         Scanner scanner = new Scanner(System.in);

         System.out.println( "请输入用户名:" );

         String name = scanner.nextLine();

         if ( "admin" .equals(name) ) {

             System.out.println( "请输入管理员密码:" );

             String password = scanner.nextLine();

             if ( "admin" .equals(password) ) {

                 System.out.println( "hello! 尊敬的管理员! 欢迎来到藏经阁" );

                 return new AdminUser(name);

             } else {

                 System.out.println( "密码错误,进入用户端!" );

                 System.out.println( "hello! " + name+ " 欢迎来到藏经阁" );

                 return new NormalUser(name);

             }

         } else {

             System.out.println( "hello! " + name+ " 欢迎来到藏经阁" );

             return new NormalUser(name);

         }

     }

}

package user

AdminUser.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

package com.src1.booksystem.users;

 

import com.src1.booksystem.operation.*;

 

import java.util.Scanner;

 

 

public class AdminUser extends User {

     @Override

     public int menu() {

         Scanner scanner = new Scanner(System.in);

 

 

         System.out.println( "1.查找图书" );

         System.out.println( "2.新增书籍" );

         System.out.println( "3.删除书籍" );

         System.out.println( "4.书籍列表" );

         System.out.println( "0.退出系统" );

 

         int chioce = scanner.nextInt();

         return chioce;

     }

 

     public AdminUser(String name) {

         super (name);

         this .operations = new IOperation[] {

                 new ExitOperation(),

                 new FindOperation(),

                 new AddOperation(),

                 new DelOperation(),

                 new DisplayOperation()

         };

     }

}

NormalUser.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

package com.src1.booksystem.users;

 

import com.src1.booksystem.operation.*;

 

import java.util.Scanner;

 

public class NormalUser extends User {

     @Override

     public int menu() {

         Scanner scanner = new Scanner(System.in);

 

 

         System.out.println( "1.查找图书" );

         System.out.println( "2.借阅书籍" );

         System.out.println( "3.归还书籍" );

         System.out.println( "4.书籍列表" );

         System.out.println( "0.退出系统" );

 

         int chioce = scanner.nextInt();

         return chioce;

 

     }

 

     public NormalUser(String name) {

         super (name);

         this .operations = new IOperation[] {

                 new ExitOperation(),

                 new FindOperation(),

                 new BorrowOperation(),

                 new ReturnOperation(),

                 new DisplayOperation()

         };

     }

}

User.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

package com.src1.booksystem.users;

 

import com.src1.booksystem.booklist.BookList;

import com.src1.booksystem.operation.IOperation;

 

abstract public class User {

     public String name;

     public IOperation[] operations;

     /**

     * 如果没有menu 就不能通过user访问

     */

     public abstract int menu() ;

     public void doOperation( int chioce, BookList bookList){

         //数组当中元素的对象,通过.调用对应operation方法

         operations[chioce].work(bookList);

     }

     public User(String name) {

         this .name = name;

     }

 

}

package book

book.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

package com.src1.booksystem.book;

 

public class Book {

     private String name;

     private String author;

     private int price;

     private String type;

     private boolean isBorrowed;

 

     public Book(String name, String author, int price) {

         this .name = name;

         this .author = author;

         this .price = price;

     }

 

 

     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 int getPrice() {

         return price;

     }

 

     public void setPrice( int price) {

         this .price = price;

     }

 

     public boolean isBorrowed() {

         return isBorrowed;

     }

 

     public void setBorrowed( boolean borrowed) {

         isBorrowed = borrowed;

     }

 

     @Override

     public String toString() {

         return "[" +

                 "书名:" + name +

                 ", 作者:" + author +

                 ", 价格:" + price + "," +

                 (isBorrowed ? "已借出" : "未借出" )+ "]" ;

 

     }

}

package booklist

BookList.java

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

package com.src1.booksystem.booklist;

import com.src1.booksystem.book.Book;

public class BookList {

     private   Book[] books;

     private int usedSize;

 

     public BookList() {

         this .books = new Book[ 10 ];

         this .books[ 0 ] = new Book( "西游记" , "吴承恩" , 13 );

         this .books[ 1 ] = new Book( "水浒传" , "施耐庵" , 14 );

         this .books[ 2 ] = new Book( "三国演义" , "罗贯中" , 15 );

         this .usedSize = 3 ;

     }

 

     public int getUsedSize() {

         return usedSize;

     }

 

     public   void setUsedSize( int usedSize) {

         this .usedSize = usedSize;

     }

     public Book getBook( int pos) {

         return books[pos];

     }

 

     public void setBooks( int pos,Book book) {

         this .books[pos] = book;

     }

 

}

package operation

AddOperation

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

package com.src1.booksystem.operation;

 

import com.src1.booksystem.book.Book;

import com.src1.booksystem.booklist.BookList;

 

import java.util.Scanner;

 

public class AddOperation implements   IOperation{

     @Override

     public void work(BookList bookList) {

         Scanner scanner = new Scanner(System.in);

         System.out.println( "请输入书名" );

         String name = scanner.nextLine();

         System.out.println( "请输入作者" );

         String author = scanner.nextLine();

 

         System.out.println( "请输入价格" );

         int price = scanner.nextInt();

 

             Book book = new Book(name, author, price);

             int curSize = bookList.getUsedSize();

             bookList.setBooks(curSize, book);

             bookList.setUsedSize(curSize + 1 );

             System.out.println( "新增成功" );

 

 

     }

}

BorrowOperation

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

package com.src1.booksystem.operation;

 

import com.src1.booksystem.book.Book;

import com.src1.booksystem.booklist.BookList;

 

import java.util.Scanner;

 

 

public class BorrowOperation implements IOperation {

     @Override

     public void work(BookList bookList) {

         System.out.println( "借阅书籍" );

         Scanner scanner = new Scanner(System.in);

         System.out.println( "请输入你要借阅的图书:" );

         String name = scanner.nextLine();

 

         for ( int i = 0 ; i < bookList.getUsedSize(); i++) {

             Book book = bookList.getBook(i);

             if (book.getName().equals(name)) {

                 if (book.isBorrowed()) {

                     System.out.println( "此书已经借出了!" );

                     return ;

                 }

                 book.setBorrowed( true );

                 System.out.println( "借阅成功!" );

                 return ;

             }

         }

         System.out.println( "没系统未收录这本书!" );

     }

}

DelOperation

未完善

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

package com.src1.booksystem.operation;

 

import com.src1.booksystem.booklist.BookList;

 

import java.util.Scanner;

import com.src1.booksystem.book.Book;

 

public class DelOperation implements IOperation{

     @Override

     public void work(BookList bookList) {

         System.out.println( "请输入要删除的书名:" );

         Scanner scanner = new Scanner(System.in);

         String delbook = scanner.nextLine();

         int size = bookList.getUsedSize();

 

         for ( int i = 0 ; i < size; i++) {

             Book book = bookList.getBook(i);

             if (book.getName().equals(delbook)) {

                 if (i+ 1 <size) {

                     bookList.setBooks(i, bookList.getBook(i + 1 ));

                 }

                 bookList.setUsedSize(size- 1 );

                 if (i+ 2 < size) {

                     bookList.setBooks(i+ 1 , bookList.getBook(i + 2 ));

                 }

             }

         }

         System.out.println( "删除成功!" );

     }

}

修改

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

public class DelOperation implements IOperation{

     @Override

     public void work(BookList bookList) {

         System.out.println( "请输入要删除的书名:" );

         Scanner scanner = new Scanner(System.in);

         String delbook = scanner.nextLine();

         int size = bookList.getUsedSize();

         int pos = 0 ;

         int i = 0 ;

         for ( i = 0 ; i < size; i++) {

             Book book = bookList.getBook(i);

             if (book.getName().equals(delbook)) {

                 pos = i;

                 break ;

             }

         }

         if (i == size){

             System.out.println( "系统中没有这本书" );

             return ;

         }

         for ( int j = pos; j < size- 1 ; j++) {

             bookList.setBooks(j, bookList.getBook(j + 1 ));

         }

         bookList.setUsedSize(size- 1 );

         System.out.println( "删除成功!" );

     }

}

DisplayOperation

?

1

2

3

4

5

6

7

8

9

10

import com.src1.booksystem.booklist.BookList;

 

public class DisplayOperation implements IOperation{

     @Override

     public void work(BookList bookList) {

         for ( int i = 0 ; i < bookList.getUsedSize(); i++) {

             System.out.println(bookList.getBook(i));

         }

     }

}

ExitOperation

?

1

2

3

4

5

6

7

8

9

10

11

package com.src1.booksystem.operation;

 

import com.src1.booksystem.booklist.BookList;

 

 

public class ExitOperation implements IOperation {

     @Override

     public void work(BookList bookList) {

         System.exit( 0 );

     }

}

FindOperation

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

package com.src1.booksystem.operation;

 

import com.src1.booksystem.book.Book;

import com.src1.booksystem.booklist.BookList;

 

import java.util.Scanner;

 

 

public class FindOperation implements IOperation{

     @Override

     public void work(BookList bookList) {

         Scanner scanner = new Scanner(System.in);

         System.out.println( "请输入要查找的书名" );

         String name = scanner.nextLine();

         for ( int i = 0 ; i < bookList.getUsedSize(); i++) {

             Book book = bookList.getBook(i);

             if (book.getName().equals(name)) {

                 System.out.println(book);

 

                 return ;

             }

 

         }

     }

}

ReturnOperation

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

package com.src1.booksystem.operation;

 

import com.src1.booksystem.book.Book;

import com.src1.booksystem.booklist.BookList;

 

import java.util.Scanner;

 

public class ReturnOperation implements IOperation {

     @Override

     public void work(BookList bookList) {

         Scanner scanner = new Scanner(System.in);

         System.out.println( "请输入你要归还的书名:" );

         String name = scanner.nextLine();

 

         for ( int i = 0 ; i < bookList.getUsedSize(); i++) {

             Book book = bookList.getBook(i);

             if (book.getName().equals(name)) {

                 //说明有这本书

                 book.setBorrowed( false );

                 System.out.println( "归还成功!" );

                 return ;

             }

         }

         System.out.println( "系统未找到本书的相关信息!" );

     }

}

接口 IOperation

?

1

2

3

4

5

6

7

8

package com.src1.booksystem.operation;

 

import com.src1.booksystem.booklist.BookList;

 

 

public interface IOperation {

     void work(BookList bookList);

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

原文链接:https://blog.csdn.net/u014296521/article/details/105324888

查看更多关于Java实现图书馆借阅系统的详细内容...

  阅读:21次