Java第一次测试

石家庄铁道大学2022年秋季

  2021 课堂测试试卷(一)15分)

课程名称: JAVA语言程序设计  任课教师 王建民        考试时间: 150 分钟  

一、考试要求:

1、按照测试内容要求完成程序的设计与编程;

2、建立学号姓名文件夹,如:“信2105-3班20213709叶照心”,将源程序文件、保存在文件夹中,压缩成rar文件提交。

3、以班级为单位上交最终考试结果。

4、需要在程序开始的注释中注明班级、学号、姓名

二、 数据结构要求:(5分)

1定义公寓类,类名:RoomInformation,其中包括个私有变量(roomnostunno1stunno2stunno3stunno4hygienescore)。

各成员的含义如下:

变量 roomno 为字符串类型 String最长八位,用于存储宿舍号例如:9#502表示9502宿舍)。

变量 stunno1stunno2stunno3stunno4 为字符串类型 String,用于存储学生的学号,长度8位(如果某个学号为空,表示没有数值,代表该宿舍空余一个床位;如果四个学号都为空,表示该宿舍为空宿舍)

变量hygienescoreint 类型,用于存储宿舍的卫生评分,初始值为0,数值范围0——100

卫生评价等级:90分(含90分)以上为优秀,80分(含80分)以上为良好、60分(含60分)以上为合格、60分以下为不合格

对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的方法。

2赋初值方法包括个参数,用于为变量roomnostunno1stunno2stunno3stunno4hygienescore)赋值。

三、 功能要求:(10分)

该系统完成石家庄铁道大学学生公寓管理的简单功能,定义RoomManagement类完成下列功能。

1利用数组实现至少存储宿舍基本信息; 要求十条记录中包含三条空宿舍信息(即只有宿舍号,四个学号为空),三条床位空信息(即,四个学号不全为空))。1分)

2、宿舍管理系统的主界面如下图所示:1分)

①界面要求;(0.5分)

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

***********************************************************

1宿舍查询

2安排新宿舍

3调整宿舍

4、宿舍卫生评价

5、卫生检查情况查询

**********************************************************

 

 

②功能说明

输入数字1-6执行相应的功能,输入其他数字提示错误信息(该选项不存在),并返回主界面。0.5分)

2、宿舍信息查询功能操作流程:(2分)

①在主界面选择“1、宿舍查询”功能后,进入“宿舍查询”界面,显示所有宿舍的基本信息,如下图所示:

 

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

***********************************************************

宿舍详细信息列表

19#101   4人   已满

29#102   4人   已满

39#103   3人 空1

49#104   2人 空1

59#105   1人 空3

69#106   4人   已满

79#107   0人   空宿舍

89#108   0人   空宿舍

99#109   0人   空宿舍

 

…………………….

**********************************************************

②至少显示10条宿舍信息(不足10条扣除0.5分);

③无法按照图示样式显示宿舍信息扣除0.5分;

④无法自动判断宿舍状态信息(已满、空1人,空宿舍等状态信息)扣除0.5分;

⑤缺少空宿舍或者空床位信息扣除0.5分。

 

3、安排新宿舍功能操作流程:(2分)

①在主界面选择“2、安排新宿舍”功能后,进入“安排新宿舍”界面,显示所有空宿舍的基本信息,如下图所示:

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

安排新宿舍

***********************************************************

空宿舍详细信息列表

19#107   0人   空宿舍

29#108   0人   空宿舍

39#109   0人   空宿舍

…………………….

请输入新宿舍号:XXXXX

**********************************************************

提示用户输入空宿舍号:

②用户输入宿舍号后,如果该宿舍不是空宿舍,则提示错误信息“该宿舍不是空宿舍,无法安排新生”。(0.5分)

 

 

 

 

③用户输入宿舍号正确如下图所示:

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

安排新宿舍

***********************************************************

新宿舍号:

1床位1XXXXX(学号1

2床位2XXXXX(学号2

3床位3XXXXX(学号3

4床位4XXXXX(学号4

 

**********************************************************

依次输入住宿人的学号,最多输入四个人的学号,输入第四个人的学号完毕,如果是,“提示该宿舍已满”,表示该宿舍分配完毕,返回上一级主页面。(0.5分)

如果输入的学号与前面存储记录中的任一学号重复,提示“该学生已分配宿舍”,清空输入,回到当前界面。(0.5分)

⑥如果在输入学号时输入END代表该宿舍分配完成,返回上一级主页面。(0.5分)

 

4、调整宿舍功能操作流程:(2分)

①在主界面选择“3、调整宿舍”功能后,进入“调整新宿舍”界面,显示所有有空床位的宿舍的基本信息,如下图所示:

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

调整宿舍

***********************************************************

有空床位宿舍详细信息列表

19#103   3人   空1

29#104   2人   空2

39#105   1人   空3

…………………….

请输入待调整宿舍号:XXXXX

**********************************************************

提示用户输入空宿舍号:

②用户输入宿舍号后,如果该宿舍不是有空床位的宿舍,则提示错误信息“该宿舍没有空床位,无法调整”。(0.5分)

③用户输入宿舍号正确如下图所示:

显示已有的床位信息:

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

调整宿舍

***********************************************************

待调整宿舍号:9#103

1床位1XXXXX(学号1

2床位2XXXXX(学号2

3床位3XXXXX(学号3

4床位420213709叶照心(用户输入) 

**********************************************************

填写空床位的学号信息,判断该宿舍是否已有四人入住;如果是,“提示该宿舍已满”,表示该宿舍分配完毕,返回上一级主页面。(0.5分)

如果输入的学号与前面存储记录中的任一学号重复,提示“该学生已分配宿舍”,清空输入,回到当前界面。(0.5分)

⑥如果在输入学号时输入END代表该宿舍分配完成,返回上一级主页面。(0.5分)

 

5、宿舍卫生评价功能操作流程:(1分)

①在主界面选择“4、宿舍卫生评价”功能后,进入“宿舍卫生评价”界面,如下图所示:

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

宿舍卫生宿舍

***********************************************************

请输入待评价宿舍号:XXXXX

**********************************************************

提示用户输入待评价宿舍号:

②用户输入宿舍号后,如果该宿舍是空宿舍,则提示错误信息“该宿舍为空宿舍”,清空输入,回到当前界面。(0.5分)

③用户输入评价宿舍号正确如下图所示:

显示该宿舍人员信息:

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

宿舍卫生评价

***********************************************************

宿舍号:9#103

1床位1XXXXX(学号1

2床位2XXXXX(学号2

3床位3XXXXX(学号3

4床位4XXXXX(学号4

 

输入宿舍卫生评价分数:XXXXXXX

**********************************************************

用户输入卫生评价分数,判断输入数值0-100之间,超出范围,提示“输入错误”,清空输入,回到当前界面,输入正确的数值,返回到“宿舍卫生评价”主界面。(0.5分)

 

6、卫生检查情况查询功能操作流程:(1分)

 

①在主界面选择“5卫生检查情况查询”功能后,进入“卫生检查情况查询”界面,按照图示样式显示宿舍卫生情况信息: (1分)

***********************************************************石家庄铁道大学

学生公寓管理系统v2022

卫生检查情况查询

***********************************************************

宿舍卫生检查情况信息

19#101   50   不合格

29#102    90   优秀

39#103   85   良好

49#104  75   合格

59#105  65   合格

69#106   72   合格

 

…………………….

**********************************************************

②未根据分值正确显示卫生等级扣除0.5分。

 //RoomInformation类

 1 package 公寓管理系统;
2
3 public class RoomInformation{ 4 private String roomno,stunno1,stunno2,stunno3,stunno4; 5 private int hygienescore; 6 public RoomInformation(String roomno,String stunno1,String stunno2,String stunno3,String stunno4,int hygienescore) { 7 this.roomno=roomno; 8 this.stunno1=stunno1; 9 this.stunno2=stunno2; 10 this.stunno3=stunno3; 11 this.stunno4=stunno4; 12 this.hygienescore=hygienescore; 13 } 14 public void set( String stunno1,String stunno2 ,String stunno3 ,String stunno4 ) 15 { 16 17 this.stunno1=stunno1; 18 this.stunno2=stunno2; 19 this.stunno3=stunno3; 20 this.stunno4=stunno4; 21 } 22 public String getRoomno() { 23 return roomno; 24 } 25 public void setRoomno(String roomno) { 26 this.roomno=roomno; 27 } 28 public String getStunno1() { 29 return stunno1; 30 } 31 public void setStunno1(String stunno1) { 32 this.stunno1=stunno1; 33 } 34 public String getStunno2() { 35 return stunno2; 36 } 37 public void setStunno2(String stunno2) { 38 this.stunno2=stunno2; 39 } 40 public String getStunno3() { 41 return stunno3; 42 } 43 public void setStunno3(String stunno3) { 44 this.stunno3=stunno3; 45 } 46 public String getStunno4() { 47 return stunno4; 48 } 49 public void setStunno4(String stunno4) { 50 this.stunno4=stunno4; 51 } 52 public int getHygienescore() { 53 return hygienescore; 54 } 55 public void setHygienescore(int hygienescore) { 56 this.hygienescore=hygienescore; 57 } 58 }

 //RoomManagement类

  1 package 公寓管理系统;
  2 
  3 import java.util.Scanner;
  4 public class RoomManagement {
  5     static Scanner sc =new Scanner(System.in);
  6     static RoomInformation[] s = new RoomInformation[10];
  7     static int z=0;
  8     public static void main(String[] args) {
  9          s[0]=new RoomInformation("9#101","20213725","20213726","20213727","20213728",0);
 10          s[1]=new RoomInformation("9#102","20213729","20213730","20213731","20213732",0);
 11          s[2]=new RoomInformation("9#103","20213733","20213734","20213735","",0);
 12          s[3]=new RoomInformation("9#104","20213737","20213738","","",0);
 13          s[4]=new RoomInformation("9#105","20213741","","","",0);
 14          s[5]=new RoomInformation("9#106","20213744","20213745","20213746","20213747",0);
 15          s[6]=new RoomInformation("9#107","20213748","20213749","20213750","20213751",0);
 16          s[7]=new RoomInformation("9#108","","","","",0);
 17          s[8]=new RoomInformation("9#109","","","","",0);
 18          s[9]=new RoomInformation("9#110","","","","",0);
 19         while(true) {
 20         showMenu();
 21         int a=sc.nextInt();
 22         switch(a) {
 23         case 1:
 24                 QueryRoom();
 25                 break;
 26         case 2:
 27                 ArrangeRoom();
 28                 break;
 29         case 3:
 30                 AdjustRoom();
 31                 break;
 32         case 4:
 33                 HygienicEvaluate();
 34                 break;
 35         case 5:
 36                 Hygienescore();
 37                 break;
 38         default:
 39                 System.out.println("该选项不存在");    
 40                 break;
 41         }    
 42     }        
 43 }    
 44     static void showTitle() {
 45         System.out.println("***********************************************************");
 46         System.out.println("\t\t\t石家庄铁道大学        ");
 47         System.out.println("\t\t\t学生公寓管理系统v2022 ");
 48     }
 49     static void showMenu() {
 50         showTitle();
 51         System.out.println("***********************************************************");
 52         System.out.println("            1、宿舍查询");
 53         System.out.println("            2、安排新宿舍");
 54         System.out.println("            3、调整宿舍");
 55         System.out.println("            4、宿舍卫生评价");
 56         System.out.println("            5、卫生检查情况查询");
 57         System.out.println("***********************************************************");
 58     }
 59     public static int JudgeNum(int i) {//判断宿舍人数
 60         int count=0;
 61         if(s[i].getStunno1()!="") count++;
 62         if(s[i].getStunno2()!="") count++;
 63         if(s[i].getStunno3()!="") count++;
 64         if(s[i].getStunno4()!="") count++;
 65         return count;
 66     }
 67     public static boolean JudgeKroom(String room) {//判断是否为空房间
 68         for(int i=0;i<10;i++) {
 69             int k=JudgeNum(i);
 70             if(k==0) {
 71                 if(room.equals(s[i].getRoomno())){
 72                     z=i;
 73                     return true;
 74                 }
 75             }
 76         }
 77         return false;
 78 }
 79 public static boolean JudgeRoom(String a) {//判断是否为空宿舍
 80         for(int i=0;i<10;i++) {
 81             if(a.equals(s[i].getRoomno())) {
 82                 int k = JudgeNum(i);
 83                 if(k!=0) {
 84                     z=i;
 85                     return true;
 86                 }
 87             }
 88         }
 89         return false;
 90     }
 91 public static boolean JudgeAdjust(String a) {//判断是否有空余床位
 92     for (int i = 0; i < 10; i++) {
 93        int k = JudgeNum(i);
 94         if (k< 4 && k > 0) {
 95             if (a.equals(s[i].getRoomno())) {
 96                 z = i;
 97                 return true;
 98             }
 99         }
100     }
101     return false;
102 }
103 public static int JudgeAdjust1(String a) {//判断是否有空余床位
104     for (int i = 0; i <10; i++) {
105        int k = JudgeNum(i);
106         if (k < 4 && k > 0) {
107             if (a.equals(s[i].getRoomno())) {
108                 z=i;
109                 return i;
110             }
111         }
112     }
113     return 0;
114 }
115 public static void ArrangeRoom1() {//安排新宿舍表头
116     showTitle();
117     System.out.println("\t\t\t安排新宿舍");
118     System.out.println("***********************************************************");
119     System.out.println("\t\t\t新宿舍号:"+s[z].getRoomno());
120     System.out.println("\t\t1、床位1:"+s[z].getStunno1());
121     System.out.println("\t\t2、床位2:"+s[z].getStunno2());
122     System.out.println("\t\t3、床位3:"+s[z].getStunno3());
123     System.out.println("\t\t4、床位4:"+s[z].getStunno4());
124     System.out.println("**********************************************************");
125 }
126 public static void AdjustRoom1(String a) {//调整宿舍表头
127     showTitle();
128     System.out.println("\t\t\t调整宿舍");
129     System.out.println("\t\t待调整宿舍号:"+a);
130     System.out.println("1、床位1:"+s[z].getStunno1());
131     System.out.println("2、床位2:"+s[z].getStunno2());
132     System.out.println("3、床位3:"+s[z].getStunno3());
133     System.out.println("4、床位4:"+s[z].getStunno4());
134 }
135 public static boolean JudgeAnumber(String a) {
136     int count=0;
137     for(int i=0;i<10;i++) {
138         if(a.equals(s[i].getStunno1())) count++;
139         if(a.equals(s[i].getStunno2())) count++;
140         if(a.equals(s[i].getStunno3())) count++;
141         if(a.equals(s[i].getStunno4())) count++;
142     }
143     if(count==0) {
144         return true;
145     }
146     else 
147         return false;
148 }
149 //    
150 public static boolean JudgeRnum(String a) {
151 for (int i = 0; i<10; i++) {
152    int k = JudgeNum(i);
153     if (k < 4 && k > 0) {
154         if (a.equals(s[i].getRoomno())) {
155             z = i;
156             return true;
157         }
158     }
159 }
160 return false;
161 }
162 //宿舍查询
163     public static void QueryRoom() {
164         showTitle();
165         System.out.println("***********************************************************");
166         System.out.println("            宿舍详细信息列表");
167         int k=0;
168         String a="";
169         for(int i=0;i<10;i++) {
170             k=JudgeNum(i);
171             if(k==4) a="已满";
172             if(k==3) a="空1人";
173             if(k==2) a="空2人";
174             if(k==1) a="空3人";
175             if(k==0) a="空房间";
176             System.out.println(i+1+"、"+s[i].getRoomno()+" "+k+"人"+" "+a);
177         }
178     }
179     public static void ArrangeRoom() {
180         showTitle();
181         System.out.println("\t\t\t安排新宿舍");
182         System.out.println("***********************************************************");
183         System.out.println("\t\t\t空宿舍详细信息列表");
184         int a=1;
185         for(int i=0;i<10;i++) {
186             int k=JudgeNum(i);
187             if(k==0) {
188                 System.out.println(a+"、"+s[i].getRoomno()+" "+k+"人"+" 空宿舍");
189                 a++;
190             }
191         }
192         System.out.println("\t\t\t请输入新宿舍号:");
193         String room=sc.next();
194         if(JudgeKroom(room)==false) {
195             System.out.println("该宿舍不是空宿舍,无法安排新生");
196         }
197         else {
198             ArrangeRoom1();
199             System.out.println("请输入要入住学生学号");
200             String y = null;
201             int i=0;
202             for (i = 0; i<4; i++) {
203                 y=sc.next();
204                 if (JudgeAnumber(y) == false) {
205                     s[z].set(null, null, null, null);
206                     ArrangeRoom1();
207                     System.out.println("输入错误,请重新输入");
208                     ArrangeRoom();
209                     break;
210                 }
211                 if (y.contains("END")) {
212                     System.out.println("分配完毕");
213                     if(i==0) s[z].set(y.substring(0, 8),null,null,null);
214                     if(i==1) s[z].set(s[z].getStunno1(),y.substring(0, 8),null,null);
215                     if(i==2) s[z].set(s[z].getStunno1(),s[z].getStunno2(),y.substring(0, 8),null);
216                     ArrangeRoom1();
217                     break;
218                 }
219                 if(i==0) s[z].set(y,null,null,null);
220                 if(i==1) s[z].set(s[z].getStunno1(),y,null,null);
221                 if(i==2) s[z].set(s[z].getStunno1(),s[z].getStunno2(),y,null);
222                 if(i==3) s[z].set(s[z].getStunno1(),s[z].getStunno2(),s[z].getStunno2(),y);
223             }  
224             if(i==4)
225                 ArrangeRoom1();
226             }
227         }
228     
229     public static void AdjustRoom() {
230         showTitle();
231         System.out.println("\t\t\t调整宿舍");
232         System.out.println("***********************************************************");
233         System.out.println("\t\t\t有空床位宿舍详细信息列表");
234         for(int i=0;i<10;i++) {
235             if(JudgeRnum(s[i].getRoomno())) {
236                 int j=1;
237                 int k = 4-JudgeNum(i);
238                 System.out.println(j+"、"+s[i].getRoomno()+"  "+JudgeNum(i)+"人"+" 空 "+k+"人");
239                 j++;
240             }
241         }
242         System.out.println("\t\t\t请输入待调整宿舍号");
243         System.out.println("**********************************************************");
244         String a=sc.next();
245         if(JudgeAdjust(a)==false) {
246             System.out.println("该宿舍没有空床位,无法调整");
247         }
248         else {
249             AdjustRoom1(a);
250             System.out.println("请输入要入住学生学号");
251             String y = null;
252             int i = JudgeAdjust1(a);
253             while (i < 4) {
254                 y = sc.next();
255                 if (JudgeAnumber(y) == false) {
256                     s[z].set(s[z].getStunno1(), s[z].getStunno2(), s[z].getStunno3(), s[z].getStunno4());
257                     AdjustRoom1(a);
258                     System.out.println("输入错误,请重新输入");
259                     AdjustRoom();
260                     break;
261                 }
262                 if (y.contains("END")) {
263                     System.out.println("分配完毕");
264                     if (i == 1)
265                         s[z].set(s[z].getStunno1(), y.substring(0, 8), null, null);
266                     if (i == 2)
267                         s[z].set(s[z].getStunno1(), s[z].getStunno2(), y.substring(0, 8), null);
268                     AdjustRoom1(a);
269                     break;
270                 }
271                 if (i == 1) {
272                     s[z].set(s[z].getStunno1(), y, null, null);
273                     i++;
274                     continue;
275                 }
276                 if (i == 2) {
277                     s[z].set(s[z].getStunno1(), s[z].getStunno2(), y, null);
278                     i++;
279                     continue;
280                 }
281                 if (i == 3) {
282                     s[z].set(s[z].getStunno1(), s[z].getStunno2(), s[z].getStunno3(), y);
283                     i++;
284                 }
285             }
286             if (i == 4)
287                 AdjustRoom1(a);
288         }
289         }
290     public static void HygienicEvaluate() {
291         showTitle();
292         System.out.println("\t\t\t宿舍卫生宿舍");
293         System.out.println("***********************************************************");
294         System.out.println("\t\t请输入待评价宿舍号:");
295         System.out.println("************************************************************");
296         String a=sc.next();
297         if(JudgeRoom(a)==false) 
298         {
299             System.out.println("该宿舍为空宿舍,请重新输入");
300             HygienicEvaluate();
301         }
302         else {
303             showTitle();
304             System.out.println("\t\t\t宿舍卫生评价");
305             System.out.println("***********************************************************");
306             System.out.println("\t\t宿舍号:"+s[z].getRoomno());
307             System.out.println("1、床位1:"+s[z].getStunno1());
308             System.out.println("2、床位2:"+s[z].getStunno2());
309             System.out.println("3、床位3:"+s[z].getStunno3());
310             System.out.println("4、床位4:"+s[z].getStunno4());
311             System.out.println("\t\t\t请输入宿舍卫生评价的分数:");
312             System.out.println("**********************************************************");
313             while(true) {
314             int b = sc.nextInt();
315             if(b<0||b>100) {
316                 System.out.println("输入错误");
317                 showTitle();
318                 System.out.println("\t\t\t宿舍卫生评价");
319                 System.out.println("***********************************************************");
320                 System.out.println("\t\t宿舍号:"+s[z].getRoomno());
321                 System.out.println("1、床位1:"+s[z].getStunno1());
322                 System.out.println("2、床位2:"+s[z].getStunno2());
323                 System.out.println("3、床位3:"+s[z].getStunno3());
324                 System.out.println("4、床位4:"+s[z].getStunno4());
325                 System.out.println("\t\t\t请输入宿舍卫生评价的分数:");
326                 System.out.println("**********************************************************");
327             }
328             else {
329                 s[z].setHygienescore(b);
330                 break;
331             }
332     }
333   }
334 }
335     public static void Hygienescore() {    
336         showTitle();
337         System.out.println("\t\t\t卫生检查情况查询    ");
338         System.out.println("***********************************************************");
339         System.out.println("\t\t\t宿舍卫生检查情况信息");
340         for(int i=0;i<10;i++) {
341             String b=null;
342             if(s[i].getHygienescore()>=90) b="优秀";
343             if(s[i].getHygienescore()>=80&&s[i].getHygienescore()<90) b="良好";
344             if(s[i].getHygienescore()>=60&&s[i].getHygienescore()<80) b="合格";
345             if(s[i].getHygienescore()<60) b="不合格";
346             System.out.println(i+1+"、"+s[i].getRoomno()+" "+s[i].getHygienescore()+" "+b);
347         }
348 }
349 }

 

posted @ 2022-09-04 17:40  万事胜意k  阅读(21)  评论(0编辑  收藏  举报