Java核心编程考试题目

一、 完成简易书籍管理系统

Book: 定义了书的一些属性(书名,作者,价格,分类,状态)并且写了属性的get、set方法

Library: 写了登录函数(1、普通用户,2、管理员,3、退出系统),

Person:定义的人的属性(姓名,性别,年龄)并且写了属性的get、set方法,定义了一些书。

operate接口:操作的接口,操作方法:查询/查阅,删除/借阅,增加/还书,显示书籍列表

Root:继承了Person类,实现operate(查阅,删除,增加,显示书籍列表)接口

实现功能:

 1.整理书籍 2.查阅书籍 3.增加书籍 4.删除书籍 5.显示书籍列表 6.退出

User:继承了Person类,实现operate(查询,借阅,还书,显示书籍列表)接口

实现功能:

1.查询书籍 2.借阅书籍 3.归还书籍 4.显示书籍列表 5.退出

Main:Main中的主函数开启整个项目。

异常:完成异常处理机制

注释:要包含每个类的Javadoc注释,方法位置添加注释

序列化/反序列化:可将内容数据存储到硬盘上同时,还可将内容数据重新输入到程序中

二、 项目结构图

 

 

 

 

 

 

 

三、 运行结果示意图

1. 菜单选项

黄色区域为总菜单,选择权限 分普通用户,管理员 最后一个为退出程序

 

 

 

 

 

 

 

 

 

 

 

每个用户都有个退出功能,退出的是当前账户角色,也就是返回总菜单处

 

 

 

 

 

选择 2进入管理员界面

有五个操作 除了整理书籍,增加书籍和删除书籍外,其他和普通用户相同

 

 

 

 

 

 

添加书籍,删除书籍的操作。

 

 

实现整理书籍功能

 

 

Java代码实现:

 1 package com.king.test.eneity;
 2 
 3 public class Main {
 4 
 5     public static void main(String[] args) {
 6         // TODO Auto-generated method stub
 7         Library.login();
 8         return;
 9         }
10     }
 1 package com.king.test.eneity;
 2 
 3 public class Book {
 4     //定义图书类
 5     /*
 6      * 书名,作者,价格,分类,状态
 7      */
 8     private String bName;
 9     private String bWriter;
10     private String bPrace;
11     private String bClass;
12     private String bStatus;
13     
14     public String getbName() {
15         return bName;
16     }
17     public void setbName(String bName) {
18         this.bName = bName;
19     }
20     public String getbWriter() {
21         return bWriter;
22     }
23     public void setbWriter(String bWriter) {
24         this.bWriter = bWriter;
25     }
26     public String getbPrace() {
27         return bPrace;
28     }
29     public void setbPrace(String bPrace) {
30         this.bPrace = bPrace;
31     }
32     public String getbClass() {
33         return bClass;
34     }
35     public void setbClass(String bClass) {
36         this.bClass = bClass;
37     }
38     public String getbStatus() {
39         return bStatus;
40     }
41     public void setbStatus(String bStatus) {
42         this.bStatus = bStatus;
43     }
44 }
  1 package com.king.test.eneity;
  2 
  3 import java.util.Scanner;
  4 
  5 public class Library {
  6     //登录函数
  7     public static void login(){
  8         Person p = new Person();
  9         Object[][] books = p.getBooks();
 10         Scanner sc = new Scanner(System.in);
 11         while(true){
 12             System.out.println("=============简易图书管理系统===============");
 13             System.out.println("请登录:1.普通用户  2.管理员 3.退出系统");
 14             int select = sc.nextInt();
 15             if(select == 1){
 16                 User u = new User();
 17                 System.out.println("请输入姓名:");
 18                 u.setName(sc.next());
 19                 System.out.println("请输入性别:");
 20                 u.setSex(sc.next());
 21                 System.out.println("请输入年龄:");
 22                 u.setAge(sc.nextInt());
 23                 System.out.print("当前为普通用户:"+"姓名:"+u.getName()+" 性别:"+u.getSex()+" 年龄:"+u.getAge());
 24                 System.out.println();
 25                 while(true){
 26                     System.out.println("请输入你的操作:1.查询书籍 2.借阅书籍 3.归还书籍 4.显示书籍列表  5.退出");
 27                     int select2 = sc.nextInt();
 28                     if(select2  == 1){
 29                         u.Read(books);    
 30                     }
 31                     if(select2  == 2){
 32                         u.Borrow(books);    
 33                     }
 34                     if(select2  == 3){
 35                         u.Back(books);
 36                     }
 37                     if(select2  == 4){
 38                         u.Show(books);    
 39                     }
 40                     if(select2  == 5){
 41                         System.out.println("退出成功!!!");
 42                         break;
 43                     }
 44                     if(select2  > 5  || select2  < 1){
 45                         System.out.println("请输入1~5进行选择!!!");
 46                     }
 47                 }    
 48             }
 49             if(select == 2){
 50                 Root r = new Root();
 51                 System.out.println("请输入姓名:");
 52                 r.setName(sc.next());
 53                 System.out.println("请输入性别:");
 54                 r.setSex(sc.next());
 55                 System.out.println("请输入年龄:");
 56                 r.setAge(sc.nextInt());
 57                 System.out.print("当前为管理员:"+"姓名:"+r.getName()+" 性别:"+r.getSex()+" 年龄:"+r.getAge());
 58                 System.out.println();
 59                 while(true){
 60                     System.out.println("请输入你的操作:1.查询书籍 2.借阅书籍 3.归还书籍 4.显示书籍列表  5.整理书籍 6.增加书籍 7.删除书籍 8.退出");
 61                     int select2 = sc.nextInt();
 62                     if(select2  == 1){
 63                         r.Read(books);    
 64                     }
 65                     if(select2  == 2){
 66                         r.Borrow(books);    
 67                     }
 68                     if(select2  == 3){
 69                         r.Back(books);
 70                     }
 71                     if(select2  == 4){
 72                         r.Show(books);    
 73                     }
 74                     if(select2  == 5){
 75                         r.Clear(books);
 76                     }
 77                     if(select2  == 6){
 78                         books = r.Create(books);    
 79                     }
 80                     if(select2  == 7){
 81                         r.Delete(books);    
 82                     }
 83                     if(select2  == 8){
 84                         System.out.println("退出成功!!!");
 85                         break;
 86                     }
 87                     if(select2  > 8  || select2  < 1){
 88                         System.out.println("请输入1~8进行选择!!!");
 89                     }
 90                 }
 91             }
 92             if(select == 3){
 93                 System.out.println("退出图书馆系统成功!!!");
 94                 break;
 95             }
 96             if(select  > 3  || select  < 1){
 97                 System.out.println("请输入1~5进行选择!!!");
 98             }
 99         }
100         sc.close();
101     }
102 }
 1 package com.king.test.eneity;
 2 
 3 public class Person {
 4     /*
 5      * 定义的人的属性(姓名,性别,年龄)
 6      */
 7     private String name;
 8     private String sex;
 9     private int age;
10     private Object[][] books = new Object[][]{
11         {"西游记","吴承恩",10.0,"名著",true},
12         {"红楼梦","曹雪芹",20.0,"名著",true},
13         {"三国演义","罗贯中",15.0,"名著",true},
14         {"水浒传","施耐庵",25.0,"名著",true},
15         {"故事会","佚名",6.0,"杂志",true},
16         {"知音漫客","佚名",12.0,"杂志",true},
17     };
18     public Object[][] getBooks() {
19         return books;
20     }
21     public void setBooks(Object[][] books) {
22         this.books = books;
23     }
24     public String getName() {
25         return name;
26     }
27     public void setName(String name) {
28         this.name = name;
29     }
30     public String getSex() {
31         return sex;
32     }
33     public void setSex(String sex) {
34         this.sex = sex;
35     }
36     public int getAge() {
37         return age;
38     }
39     public void setAge(int age) {
40         this.age = age;    
41     }
42     
43 }
  1 package com.king.test.eneity;
  2 
  3 import java.util.Scanner;
  4 
  5 public  class Root extends Person implements Operate {
  6     Scanner sc = new Scanner(System.in);
  7     @Override
  8     public void Read(Object[][] books) {
  9         // TODO Auto-generated method stub
 10         System.out.println("请输入书名进行查询:");
 11         int t = -1;
 12         String book = sc.next();
 13         for(int i=0;i<books.length;i++){
 14             if(books[i][0].equals(book)){
 15                 t = i;
 16                 break;
 17                 }
 18             }
 19         if(t != -1){
 20             System.out.println("有此书籍...");
 21             System.out.println(books[t][0]+"  "+books[t][1]+"  "+books[t][2]+"  "+books[t][3]+"  "+books[t][4]);
 22         }else{
 23             System.out.println("本书馆没有此书籍...");
 24         }
 25     }
 26 
 27     @Override
 28     public void Delete(Object[][] books) {
 29         // TODO Auto-generated method stub
 30         System.out.println("请输入要删除的书名:");
 31         String book = sc.next();
 32         int t = -1;
 33         for(int i=0;i<books.length;i++){
 34             if(books[i][0].equals(book)){
 35                 books[i][0] = "Null";
 36                 books[i][1] = "Null";
 37                 books[i][2] = 0.0;
 38                 books[i][3] = "Null";
 39                 books[i][4] = false;
 40                 t = 1;
 41                 break;
 42             }
 43         }
 44         if(t == 1){
 45             System.out.println("删除书籍成功!!!");
 46         }
 47         else{
 48             System.out.println("删除失败!没有该书籍...");
 49         }
 50     }
 51 
 52     @Override
 53     public void Borrow(Object[][] books) {
 54         // TODO Auto-generated method stub
 55         System.out.println("请输入需要借阅的书籍:");
 56         String book = sc.next();
 57         int t = -1;
 58         for(int i=0;i<books.length;i++){
 59             if(books[i][0].equals(book)){
 60                 if((boolean)(books[i][4])){
 61                     books[i][4] = false;
 62                     t = i;
 63                     break;
 64                 }
 65                 else{
 66                     t = -2;
 67                     break;
 68                 }
 69             }
 70             else{
 71                 t = -3;
 72             }
 73         }
 74         if(t > -1){
 75             System.out.println("成功借阅!");
 76         }
 77         if(t == -2){
 78             System.out.println("借阅失败!该书籍已被借阅...");
 79         }
 80         if(t == -3){
 81             System.out.println("本书馆没有该书籍..."); 
 82         }
 83     }
 84 
 85     @Override
 86     public Object[][] Create(Object[][] books) {
 87         // TODO Auto-generated method stub
 88         System.out.println("请输入要增加的书籍信息:");
 89         int k = books.length;
 90         Object[][] newBooks = new Object[k+1][5];
 91         for(int i=0;i<books.length;i++){
 92                 newBooks[i][0] = books[i][0];
 93                 newBooks[i][1] = books[i][1];
 94                 newBooks[i][2] = books[i][2];
 95                 newBooks[i][3] = books[i][3];
 96                 newBooks[i][4] = books[i][4];
 97         }
 98         try {
 99             System.out.println("请输入书名:");
100             newBooks[k][0] =  sc.next();
101             System.out.println("请输入作者:");
102             newBooks[k][1] = sc.next();
103             System.out.println("请输入价格:");
104             newBooks[k][2] = sc.nextDouble();
105             System.out.println("请输入分类:");
106             newBooks[k][3] = sc.next();
107             System.out.println("请输入书籍状态(true or false)");
108             newBooks[k][4] = sc.nextBoolean();
109             System.out.println("添加成功!!!");
110         } catch (Exception e) {
111             System.out.println("添加中断,数据输入异常!!!");
112             e.printStackTrace();
113         }
114         return newBooks;
115     }
116 
117     @Override
118     public void Back(Object[][] books) {
119         // TODO Auto-generated method stub
120         System.out.println("请输入要归还的书名:");
121         String book = sc.next();
122         int  t = -1;    //用于判断是否查询到书籍,负数为否
123         for(int i=0;i<books.length;i++){
124             if(books[i][0].equals(book)){
125                 if((boolean)books[i][4]){
126                     t = -3;
127                     break;
128                 }
129                 else{
130                     t = i;
131                     books[i][4] = true;
132                     break;
133                 }
134             }
135             else{
136                 t = -2;
137             }
138         }
139         if(t > -1){
140             System.out.println("归还成功!!!");
141         }
142         if(t == -2){
143             System.out.println("本书馆没有该书籍...");
144         }
145         if(t == -3){
146             System.out.println("该书籍还没有被借阅...");
147         }
148     }
149 
150     @Override
151     public void Show(Object[][] books) {
152         // TODO Auto-generated method stub
153         System.out.println("图书列表如下:(书名-作者-价格-分类-状态");
154         for(int i=0;i<books.length;i++){
155             System.out.println(books[i][0]+"\t"+books[i][1]+"\t"+books[i][2]+"\t"+books[i][3]+"\t"+books[i][4]);
156         }
157     }
158 
159     @Override
160     public void Clear(Object[][] books) {
161         // TODO Auto-generated method stub
162         System.out.println("书籍按价格整理如下:");
163         for(int j=0;j<books.length-1;j++){
164             for(int i=0;i<books.length-1-j;i++){
165                 if((Double)books[i][2] > (Double)books[i+1][2]){
166                     Object[] t = new Object[5];
167                     t[0] = books[i][0];
168                     t[1] = books[i][1];
169                     t[2] = books[i][2];
170                     t[3] = books[i][3];
171                     t[4] = books[i][4];
172                     books[i][0] = books[i+1][0];
173                     books[i][1] = books[i+1][1];
174                     books[i][2] = books[i+1][2];
175                     books[i][3] = books[i+1][3];
176                     books[i][4] = books[i+1][4];
177                     books[i+1][0] = t[0];
178                     books[i+1][1] = t[1];
179                     books[i+1][2] = t[2];
180                     books[i+1][3] = t[3];
181                     books[i+1][4] = t[4];
182                 }
183             }
184         }
185         
186         for(int i=0;i<books.length;i++){
187             System.out.println(books[i][0]+"\t"+books[i][1]+"\t"+books[i][2]+"\t"+books[i][3]+"\t"+books[i][4]);
188         }
189     }
190 }
  1 package com.king.test.eneity;
  2 
  3 import java.util.Scanner;
  4 
  5 public class User extends Person implements Operate {
  6     Scanner sc = new Scanner(System.in);
  7     @Override
  8     public void Read(Object[][] books) {
  9         // TODO Auto-generated method stub
 10         System.out.println("请输入书名进行查询:");
 11         int t = -1;
 12         String book = sc.next();
 13         for(int i=0;i<books.length;i++){
 14             if(books[i][0].equals(book)){
 15                 t = i;
 16                 break;
 17                 }
 18             }
 19         if(t != -1){
 20             System.out.println("有此书籍...");
 21             System.out.println(books[t][0]+"  "+books[t][1]+"  "+books[t][2]+"  "+books[t][3]+"  "+books[t][4]);
 22         }else{
 23             System.out.println("本书馆没有此书籍...");
 24         }
 25     }
 26     
 27     @Override
 28     public void Borrow(Object[][] books) {
 29         System.out.println("请输入需要借阅的书籍:");
 30         String book = sc.next();
 31         int t = -1;
 32         for(int i=0;i<books.length;i++){
 33             if(books[i][0].equals(book)){
 34                 if((boolean)(books[i][4])){
 35                     books[i][4] = false;
 36                     t = i;
 37                     break;
 38                 }
 39                 else{
 40                     t = -2;
 41                     break;
 42                 }
 43             }
 44             else{
 45                 t = -3;
 46             }
 47         }
 48         if(t > -1){
 49             System.out.println("成功借阅!");
 50         }
 51         if(t == -2){
 52             System.out.println("借阅失败!该书籍已被借阅...");
 53         }
 54         if(t == -3){
 55             System.out.println("本书馆没有该书籍...");
 56         }
 57     }
 58 
 59     @Override
 60     public Object[][] Create(Object[][] books) {
 61         return books;
 62         // TODO Auto-generated method stub
 63         
 64     }
 65 
 66     @Override
 67     public void Show(Object[][] books) {
 68         // TODO Auto-generated method stub
 69         System.out.println("图书列表如下:(书名-作者-价格-分类-状态");
 70         for(int i=0;i<books.length;i++){
 71             System.out.println(books[i][0]+"\t"+books[i][1]+"\t"+books[i][2]+"\t"+books[i][3]+"\t"+books[i][4]);
 72         }
 73     }
 74 
 75     @Override
 76     public void Delete(Object[][] books) {
 77         // TODO Auto-generated method stub
 78         
 79     }
 80 
 81     @Override
 82     public void Back(Object[][] books) {
 83         // TODO Auto-generated method stub
 84         System.out.println("请输入要归还的书名:");
 85         String book = sc.next();
 86         int  t = -1;    //用于判断是否查询到书籍,负数为否
 87         for(int i=0;i<books.length;i++){
 88             if(books[i][0].equals(book)){
 89                 if((boolean)books[i][4]){
 90                     t = -3;
 91                     break;
 92                 }
 93                 else{
 94                     t = i;
 95                     books[i][4] = true;
 96                     break;
 97                 }
 98             }
 99             if(!books[i][0].equals(book)){
100                 t = -2;
101             }
102         }
103         if(t > -1){
104             System.out.println("归还成功!!!");
105         }
106         if(t == -2){
107             System.out.println("本书馆没有该书籍...");
108         }
109         if(t == -3){
110             System.out.println("该书籍还没有被借阅...");
111         }
112     }
113 
114     @Override
115     public void Clear(Object[][] books) {
116         // TODO Auto-generated method stub
117         
118     }
119 }
package com.king.test.eneity;

public interface Operate {
    /*
     * 操作方法:查询/查阅,删除/借阅,增加/还书,显示书籍列表
     */
    //查询、查阅方法
    public  void Read(Object[][] books);
    //删除/借阅
    public  void Delete(Object[][] books);
    public  void Borrow(Object[][] books);
    //增加/还书
    public Object[][] Create(Object[][] books);
    public void Back(Object[][] books);
    //显示
    public  void Show(Object[][] books);
    //整理
    public  void Clear(Object[][] books);
}

 

完成于2020.07.08

 

posted @ 2020-07-08 20:15  潇洒醉一回  阅读(98)  评论(0)    收藏  举报