首页 > 编程语言 >java开学测试

java开学测试

时间:2022-09-04 20:25:18浏览次数:55  
标签:开学 System number 宿舍 测试 rm println java out

石家庄铁道大学2022年秋季

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

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

 

一、考试要求:

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

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

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

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

 

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

 

1、定义公寓类,类名:RoomInformation,其中包括五个私有变量(roomno,stunno1,stunno2,stunno3,stunno4,hygienescore)。

各成员的含义如下:

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

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

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

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

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

2、赋初值方法包括五个参数,用于为变量(roomno,stunno1,stunno2,stunno3,stunno4,hygienescore)赋值。

 

三、 功能要求:(10分)

 

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

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

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

①界面要求;(0.5分)

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

石家庄铁道大学

学生公寓管理系统v2022

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

1、宿舍查询

2、安排新宿舍

3、调整宿舍

4、宿舍卫生评价

5、卫生检查情况查询

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

 

 

②功能说明

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

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

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

 

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

石家庄铁道大学

学生公寓管理系统v2022

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

宿舍详细信息列表

1、9#101   4人   已满

2、9#102   4人   已满

3、9#103   3人 空1人

4、9#104   2人 空1人

5、9#105   1人 空3人

6、9#106   4人   已满

7、9#107   0人   空宿舍

8、9#108   0人   空宿舍

9、9#109   0人   空宿舍

 

…………………….

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

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

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

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

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

 

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

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

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

石家庄铁道大学

学生公寓管理系统v2022

安排新宿舍

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

空宿舍详细信息列表

1、9#107   0人   空宿舍

2、9#108   0人   空宿舍

3、9#109   0人   空宿舍

…………………….

请输入新宿舍号:XXXXX

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

提示用户输入空宿舍号:

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

 

 

 

 

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

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

石家庄铁道大学

学生公寓管理系统v2022

安排新宿舍

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

新宿舍号:

1、床位1:XXXXX(学号1)

2、床位2:XXXXX(学号2)

3、床位3:XXXXX(学号3)

4、床位4:XXXXX(学号4)

 

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

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

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

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

 

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

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

 

 

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

石家庄铁道大学

学生公寓管理系统v2022

调整宿舍

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

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

1、9#103   3人   空1人

2、9#104   2人   空2人

3、9#105   1人   空3人

…………………….

请输入待调整宿舍号:XXXXX

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

提示用户输入空宿舍号:

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

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

显示已有的床位信息:

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

石家庄铁道大学

学生公寓管理系统v2022

调整宿舍

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

待调整宿舍号:9#103

1、床位1:XXXXX(学号1)

2、床位2:XXXXX(学号2)

3、床位3:XXXXX(学号3)

4、床位4:20213709叶照心(用户输入)

 

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

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

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

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

 

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

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

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

石家庄铁道大学

学生公寓管理系统v2022

宿舍卫生宿舍

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

请输入待评价宿舍号:XXXXX

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

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

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

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

 

显示该宿舍人员信息:

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

石家庄铁道大学

学生公寓管理系统v2022

宿舍卫生评价

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

宿舍号:9#103

1、床位1:XXXXX(学号1)

2、床位2:XXXXX(学号2)

3、床位3:XXXXX(学号3)

4、床位4:XXXXX(学号4)

 

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

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

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

 

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

 

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

 

 

 

 

 

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

石家庄铁道大学

学生公寓管理系统v2022

卫生检查情况查询

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

宿舍卫生检查情况信息

1、9#101   50   不合格

2、9#102    90   优秀

3、9#103   85   良好

4、9#104  75   合格

5、9#105  65   合格

6、9#106   72   合格

 

…………………….

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

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

我写的

package 测验;

public class RoomInformation
{
private String roomno;//宿舍号
private String stunno1;
private String stunno2;
private String stunno3;
private String stunno4;//学号
private int hygienescore;//卫生评分

public String getRoomno() {
return roomno;
}

public void setRoomno(String roomno) {
this.roomno = roomno;
}

public String getStunno1() {
return stunno1;
}

public void setStunno1(String stunno1) {
this.stunno1 = stunno1;
}

public String getStunno2() {
return stunno2;
}

public void setStunno2(String stunno2) {
this.stunno2 = stunno2;
}

public String getStunno3() {
return stunno3;
}

public void setStunno3(String stunno3) {
this.stunno3 = stunno3;
}

public String getStunno4() {
return stunno4;
}

public void setStunno4(String stunno4) {
this.stunno4 = stunno4;
}

public int getHygienescore() {
return hygienescore;
}

public void setHygienescore(int hygienescore) {
this.hygienescore = hygienescore;
}

public RoomInformation(String roomno, String stunno1, String stunno2, String stunno3, String stunno4, int hygienescore) {
this.roomno = roomno;
this.stunno1 = stunno1;
this.stunno2 = stunno2;
this.stunno3 = stunno3;
this.stunno4 = stunno4;
this.hygienescore = hygienescore;
}
}

package 测验;

import java.util.Scanner;

public class RoomManagement {
public static void main(String[] args) {
RoomInformation rm[]=new RoomInformation[10];
rm[0]=new RoomInformation("9#501","20213971","20213972","20213973","20213974",0);
rm[1]=new RoomInformation("9#502","20213981","20213982","20213913","20213934",0);
rm[2]=new RoomInformation("9#503","20213991","20213922","20213923","20213944",0);
rm[3]=new RoomInformation("9#504","20213901","20213952","20213933","20213954",0);
rm[4]=new RoomInformation("9#505","","","","",0);
rm[5]=new RoomInformation("9#506","","","","",0);
rm[6]=new RoomInformation("9#507","","","","",0);//三个空宿舍
rm[7]=new RoomInformation("9#508","20213888","20283972","20233973","",0);//1个空床位
rm[8]=new RoomInformation("9#509","20223971","20213898","20223973","",0);//1个空床位
rm[9]=new RoomInformation("9#510","20223951","20223972","20217890","",0);//1个空床位

while(true)
{
menu.show();
int a = 0;
Scanner num = new Scanner(System.in);
a = num.nextInt();
if (a == 1)
{
menu.roomChaxun(rm);
continue;
}
else if (a == 2)
{
menu.anpaiRoom(rm);
continue;
}
else if (a == 3)
{
menu.tiaozhengRoom(rm);
continue;
}
else if(a==4)
{
menu.pingjiaWeisheng(rm);
continue;
}
else if(a==5)
{
menu.weishengChaxun(rm);
continue;
}
else
{
System.out.println("该选项不存在,请重新输入");
}
}

}

}
packagimport java.util.Scanner;

public class menu {
public static void show()
{
System.out.println("***********************************************************\n" +
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
"***********************************************************\n" +
" 1、宿舍查询\n" +
" 2、安排新宿舍\n" +
" 3、调整宿舍\n" +
" 4、宿舍卫生评价\n" +
" 5、卫生检查情况查询\n" +
"***********************************************************\n");
}
public static void roomChaxun(RoomInformation rm[])
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
"***********************************************************\n" +
" 宿舍详细信息列表");
for (int i = 0; i <rm.length ; i++)
{
int number=0;
String s="";
if(rm[i].getStunno1()!="")
{number++;}
if(rm[i].getStunno2()!="")
{number++;}
if(rm[i].getStunno3()!="")
{number++;}
if(rm[i].getStunno4()!="")
{number++;}
if(number==0)
{s="空宿舍";}
else if(number==1)
{s="空3人";}
else if(number==2)
{s="空2人";}
else if(number==3)
{s="空1人";}
else if(number==4)
{s="已满";}
System.out.println(i+1+"、"+rm[i].getRoomno()+"\t"+number+"人"+"\t"+s);
}
System.out.println("**********************************************************");
}

public static void anpaiRoom(RoomInformation rm[])
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
" 安排新宿舍\n" +
"***********************************************************\n" +
" 空宿舍详细信息列表");
for (int i = 0; i < rm.length; i++)
{
int number=0;
String s="";
if(rm[i].getStunno1()!="")
{number++;}
if(rm[i].getStunno2()!="")
{number++;}
if(rm[i].getStunno3()!="")
{number++;}
if(rm[i].getStunno4()!="")
{number++;}
if(number==0)
{s="空宿舍";}
else if(number==1)
{s="空3人";}
else if(number==2)
{s="空2人";}
else if(number==3)
{s="空1人";}
else if(number==4)
{s="已满";}
if(number==0)
System.out.println(i-3+"、"+rm[i].getRoomno()+"\t"+number+"人"+"\t"+s);
}
System.out.println("请输入新宿舍号:");
System.out.println("**********************************************************");
Scanner sc=new Scanner(System.in);
String roomnumber="";
roomnumber=sc.nextLine();
for (int i = 0; i < rm.length; i++)
{

if(rm[i].getRoomno().equals(roomnumber))
{
if(rm[i].getStunno1()!=""&&rm[i].getStunno2()!=""&&rm[i].getStunno3()!=""&&rm[i].getStunno4()!="")
{
System.out.println("该宿舍不是空宿舍,无法安排新生");
break;
}
}
else
{
rm[i].setRoomno(roomnumber);
while(true)
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
" 安排新宿舍\n" +
"***********************************************************\n");
System.out.println("新宿舍号:" + rm[i].getRoomno());
System.out.println("1、床位1:XXXXX(学号1)\n" +
"2、床位2:XXXXX(学号2)\n" +
"3、床位3:XXXXX(学号3)\n" +
"4、床位4:XXXXX(学号4)\n" +
"**********************************************************");
Scanner sc1 = new Scanner(System.in);
String stunno11 = sc1.nextLine();
String stunno22 = sc1.nextLine();
String stunno33 = sc1.nextLine();
String stunno44 = sc1.nextLine();
rm[i].setStunno1(stunno11);
rm[i].setStunno2(stunno22);
rm[i].setStunno3(stunno33);
rm[i].setStunno4(stunno44);
String ab="";
if(ab=="END")
{break;}
if (stunno44 != "")
{
System.out.println("该宿舍已满");
break;
}
break;
}
}
break;
}


}


public static void tiaozhengRoom(RoomInformation rm[])
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
" 调整宿舍\n" +
"***********************************************************\n" +
" 有空床位宿舍详细信息列表");
for (int i = 0; i < rm.length; i++) {
int number=0;
String s="";
if(rm[i].getStunno1()!="")
{number++;}
if(rm[i].getStunno2()!="")
{number++;}
if(rm[i].getStunno3()!="")
{number++;}
if(rm[i].getStunno4()!="")
{number++;}
if(number==0)
{s="空宿舍";}
else if(number==1)
{s="空3人";}
else if(number==2)
{s="空2人";}
else if(number==3)
{s="空1人";}
else if(number==4)
{s="已满";}
if(number==1||number==2||number==3)
{ System.out.println(i-6+"、"+rm[i].getRoomno()+"\t"+number+"人"+"\t"+s);}
}
System.out.println("请输入待调整宿舍号:XXXXX\n" +
"**********************************************************");
Scanner sc=new Scanner(System.in);
String newroom=sc.nextLine();
for (int i = 0; i < rm.length; i++)
{
if(rm[i].getRoomno().equals(newroom))
{
if(rm[i].getStunno1()!=""&&rm[i].getStunno2()!=""&&rm[i].getStunno3()!=""&&rm[i].getStunno4()!="")
{
System.out.println("该宿舍没有空床位,无法调整");
break;
}
else
{
rm[i].setRoomno(newroom);
while(true)
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
" 调整宿舍\n" +
"***********************************************************");
System.out.println("待调整宿舍号:"+rm[i].getRoomno());
System.out.println("1、床位1:"+rm[i].getStunno1()+"\n" +
"2、床位2:"+rm[i].getStunno2()+"\n" +
"3、床位3:"+rm[i].getStunno3()+"\n" +
"4、床位4:\n" +
"***********************************************************");
Scanner sc1=new Scanner(System.in);
String stunumber=sc1.nextLine();
if(stunumber=="END")
{
break;
}
else
{
System.out.println("该宿舍已满");
}
break;
}
}
}

}
}

public static void pingjiaWeisheng(RoomInformation rm[])
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
" 宿舍卫生宿舍\n" +
"***********************************************************\n" +
" 请输入待评价宿舍号:XXXXX\n" +
"**********************************************************");
Scanner sc=new Scanner(System.in);
String number=sc.next();

int i;
for(i=0;i< rm.length;i++)
{

if (rm[i].getRoomno().equals(number))
{
if (rm[i].getStunno1() =="" && rm[i].getStunno2() == "" && rm[i].getStunno3() == ""&& rm[i].getStunno4() == "")
{
System.out.println("该宿舍为空宿舍");
pingjiaWeisheng(rm);
}
else
{
while (true)
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
" 宿舍卫生评价\n" +
"***********************************************************");
System.out.println("宿舍号:" + rm[i].getRoomno());
System.out.println("1、床位1:" + rm[i].getStunno1());
System.out.println("2、床位2:" + rm[i].getStunno2());
System.out.println("3、床位3:" + rm[i].getStunno3());
System.out.println("4、床位4:" + rm[i].getStunno4());
System.out.println("输入宿舍卫生评价分数:");
System.out.println("***********************************************************");
Scanner sc1 = new Scanner(System.in);
int score = sc1.nextInt();
if (score < 0 || score > 100)
{
System.out.println("输入错误");
continue;
} else
{
rm[i].setHygienescore(score);
break;
}
}

}
}
}
}

public static void weishengChaxun(RoomInformation rm[])
{
System.out.println("***********************************************************\n"+
" 石家庄铁道大学\n" +
" 学生公寓管理系统v2022\n" +
" 卫生检查情况查询\n" +
"***********************************************************");
System.out.println(" 宿舍卫生检查情况信息");
for (int i = 0; i < rm.length; i++)
{
String qk="";
if(rm[i].getHygienescore()>=90)
{qk="优秀";}
else if(rm[i].getHygienescore()>=80&&rm[i].getHygienescore()<90)
{qk="良好";}
else if(rm[i].getHygienescore()>=60&&rm[i].getHygienescore()<80)
{qk="合格";}
else if(rm[i].getHygienescore()<60)
{qk="不合格";}
System.out.println(i+1+"、"+rm[i].getRoomno()+"\t"+rm[i].getHygienescore()+"\t"+qk);
}
System.out.println("**********************************************************");
}
}

总结:本次测试完成的不理想,五个功能实现了三个,第二三个只完成了一小部分,没能判断输入学号是否重复,也不能通过输入END结束。
另外在输入完成后返回上一级还是返回到某个页面有点乱套,还有就是在安排宿舍和调整宿舍时,输入的数据存不进去,下次运行
还显示是空宿舍或空床位,还有许多问题未解决

标签:开学,System,number,宿舍,测试,rm,println,java,out
From: https://www.cnblogs.com/mendianyu/p/16655918.html

相关文章

  • Java表达式计算工具-Aviator的使用
    Java表达式计算工具-Aviator的使用添加依赖:<!--https://mvnrepository.com/artifact/com.googlecode.aviator/aviator--><dependency><groupId>com.googlecode.......
  • Java集合
    集合java集合分为Collection和Map集合Collecttion接口List元素有序(指的是存储时,与存放顺序保持一致)、可重复的集合Set元素无序、不可重复的集合Map......
  • Java异常处理机制
    异常Exception:#1.什么是异常##简单分类:要理解java异常处理是如何工作的,需要掌握以下三种类型的异常:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程......
  • 生成allure报告报错:Exception in thread "main" java.lang.NoClassDefFoundError: com
     报错如图:  问题解决经过:从报错中看刚开始以为是java版本问题,然后就尝试换了jdk11(我本地之前是jdk8,也就是jdk1.8),但是换了之后还是不行,然后以为是allure没有装好......
  • Java基础-原码、反码、补码的理解
    注意,我们这里举列的原码和反码只是为了求负数的补码,在计算机中没有原码,反码的存在,只有补码。 一.原码1>.正数的原码就是它的本身假设使用一个字节存储整数,整数10......
  • 数据结构与算法【Java】05---排序算法总结
    前言数据data结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构.学好数据结构才可以编写出更加漂亮,更加有效率的代码。要学习好数据结构就......
  • 2022java-web一条龙工具安装
    @目录java安装java-jdk安装java环境变量配置java-eclipse工具安装Java-idea工具安装MySQL安装navicat安装tomcat安装maven安装配置本地仓库配置镜像配置jdk备忘~安装常见......
  • 2022java-web一条龙工具安装
    @目录java安装java-jdk安装java环境变量配置java-eclipse工具安装Java-idea工具安装MySQL安装navicat安装tomcat安装maven安装配置本地仓库配置镜像配置jdk备忘~安装常见......
  • Java-tomcat
    TomcatTomcat是一个免费的web服务器8080是tomcat的默认端口号(手动可更改)下载tomcat后各个文件的作用:bin:一些初始化脚本conf:配置文件lib:依赖的jar包logs:日志web......
  • java随笔(六)——对象序列化
    ObjectOutputStream(对象输出流,序列化)通过ObjectOutputStream可以将所需要存储的对象数据进行序列化再输出存储。例如:Students=newStudent("张三",19);ObjectOutput......