首页 > 其他分享 >第一周

第一周

时间:2022-09-03 18:13:10浏览次数:39  
标签:第一周 renshu System stu 宿舍 println null

1.本周进行了开学检测,主要是写宿舍管理系统,基本完成要求,但检测结束后自己测试时发现了很多bug,需要更改,还有一些代码需要优化,下面是题目要求和最初代码。

石家庄铁道大学2022年秋季

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

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

 

一、考试要求:

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

2、建立学号姓名文件夹,如:“”,将源程序文件、保存在文件夹中,压缩成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:(用户输入)

 

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

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

public class RoomManagement {
private String roomno;
private String stunno1;
private String stunno2;
private String stunno3;
private String stunno4;
private int hygienescore;

public RoomManagement() {
super();
}
public RoomManagement(String roomno, String stunno1, String stunno2, String stunno3, String stunno4,
int hygienescore) {
super();
this.roomno = roomno;
this.stunno1 = stunno1;
this.stunno2 = stunno2;
this.stunno3 = stunno3;
this.stunno4 = stunno4;
this.hygienescore = 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;
}

}

package lianxi;

import java.util.Scanner;

public class Menu {
public static void show()
{
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "***********************************************************\r\n"
+ "1、宿舍查询\r\n"
+ "2、安排新宿舍\r\n"
+ "3、调整宿舍\r\n"
+ "4、宿舍卫生评价\r\n"
+ "5、卫生检查情况查询\r\n"
+ "**********************************************************");
}
public static void sushechaxun(RoomManagement [] stu)
{
int [] renshu = new int[10];
for(int i = 0; i < 10; i++)
{
if(stu[i].getStunno1() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno2() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno3() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno4() != null)
{
renshu[i] = renshu[i] + 1;
}
if(renshu[i] == 4)
{
System.out.println(stu[i].getRoomno() + " " + renshu[i] + "人" +" " + "已满");
}
else if(renshu[i] == 0)
{
System.out.println(stu[i].getRoomno() + " " + renshu[i] + "人" +" " + "空宿舍");

}
else
{
int b;
b = 4 - renshu[i];
System.out.println(stu[i].getRoomno() + " " + renshu[i] + "人" +" " + "空" + b + "人");
}
}
System.out.println("…………………….\r\n"
+ "**********************************************************");

}
public static void anpaisushe(RoomManagement [] stu)
{ int j = 0;
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "安排新宿舍\r\n"
+ "***********************************************************\r\n"
+ "新宿舍号:");
int [] renshu = new int[10];
int i ;
for(i = 0; i < 10; i++)
{
if(stu[i].getStunno1() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno2() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno3() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno4() != null)
{
renshu[i] = renshu[i] + 1;
}
if(renshu[i] == 0)
{
System.out.println(stu[i].getRoomno() + " " + renshu[i] + "人" +" " + "空宿舍");

}
}
System.out.println("请输入新宿舍号:XXXXX\r\n"
+ "**********************************************************");
String sushehao;
Scanner sushehao1 = new Scanner(System.in);
sushehao = sushehao1.next();
abc: for(i = 0; i < 10; i++)
{
if(stu[i].getRoomno().equals(sushehao))
{
if(stu[i].getStunno1() != null || stu[i].getStunno2() != null || stu[i].getStunno3() != null || stu[i].getStunno4() != null)
{
System.out.println("该宿舍不是空宿舍,无法安排新生");
}
else
{
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "安排新宿舍\r\n"
+ "***********************************************************\r\n"
+ "新宿舍号:\r\n"
+ "1、床位1:XXXXX(学号1)\r\n"
+ "2、床位2:XXXXX(学号2)\r\n"
+ "3、床位3:XXXXX(学号3)\r\n"
+ "4、床位4:XXXXX(学号4)\r\n"
+ "\r\n"
+ "**********************************************************");
for(i = 0; i < 4; i++)
{
int a = 0;
Scanner xuehao = new Scanner(System.in);
if(a == 0)
{ String xuehao1;
xuehao1 = xuehao.next();
if(xuehao1.equals("END"))
{
break abc;
}
stu[i].setStunno1(xuehao1);
a = 1;
}
if (a == 1)
{
String xuehao2;
xuehao2 = xuehao.next();
if(xuehao2.equals("END"))
{
break abc;
}
if(stu[i].getStunno1().equals(xuehao2))
{System.out.println("该学生已分配宿舍");
}
else
{stu[i].setStunno2(xuehao2);
a = 2;}
}
if (a == 2)
{ String xuehao3;
xuehao3 = xuehao.next();
if(xuehao3.equals("END"))
{
break abc;
}
if((stu[i].getStunno1() == xuehao3)||(stu[i].getStunno2() == xuehao3))
{System.out.println("该学生已分配宿舍");
}
else
{stu[i].setStunno3(xuehao3);
a = 3;}
}
if (a == 3)
{ String xuehao4;
xuehao4 = xuehao.next();
if(xuehao4.equals("END"))
{
break abc;
}
if((stu[i].getStunno1() == xuehao4)||(stu[i].getStunno2() == xuehao4)||(stu[i].getStunno3() == xuehao4))
{System.out.println("该学生已分配宿舍");
}
else
{stu[i].setStunno4(xuehao4);
a = 4;
j = 1;
break abc;}
}

}
if(j == 1)
System.out.println("该宿舍已满");
}
}

}

}
public static void tiaozhengsushe(RoomManagement [] stu)
{
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "调整宿舍\r\n"
+ "***********************************************************\r\n"
+ "有空床位宿舍详细信息列表");
int [] renshu = new int[10];
int i,j;
j = 0;
for(i = 0; i < 10; i++)
{
if(stu[i].getStunno1() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno2() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno3() != null)
{
renshu[i] = renshu[i] + 1;
}
if(stu[i].getStunno4() != null)
{
renshu[i] = renshu[i] + 1;
}
if((renshu[i] != 4 )&&( renshu[i] != 0))
{
int b;
b = 4 - renshu[i];
System.out.println(stu[i].getRoomno() + " " + renshu[i] + "人" +" " + "空" + b + "人");
}

}
System.out.println("**********************************************************");
String newsushehao;
Scanner sushehao2 = new Scanner(System.in);
newsushehao = sushehao2.nextLine();
ab: for(i = 0; i < 10; i++)
{if(stu[i].getRoomno().equals(newsushehao))
{ j = 1;
if(stu[i].getStunno1() != null && stu[i].getStunno2() != null && stu[i].getStunno3() != null && stu[i].getStunno4() != null)
{
System.out.println("该宿舍没有空床位,无法调整");
}
else
{
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "调整宿舍\r\n"
+ "***********************************************************\r\n"
+ "待调整宿舍号:9#103\r\n"
+ "1、床位1:" + stu[i].getStunno1()
+ "2、床位2:" + stu[i].getStunno2()
+ "3、床位3:" + stu[i].getStunno3()
+ "4、床位4:" + stu[i].getStunno4()
+ "\r\n"
+ "**********************************************************");
Scanner xuehao1 = new Scanner(System.in);
String xuehao;
xuehao = xuehao1.next();
if(xuehao.equals("END"))
{
break ab;
}
Scanner chuangwei1 = new Scanner(System.in);
int chuangwei;
chuangwei = chuangwei1.nextInt();
if(chuangwei == 1)
{
if((stu[i].getStunno2().equals(xuehao)) ||(stu[i].getStunno4().equals(xuehao))||(stu[i].getStunno3().equals(xuehao)))
System.out.println("学号重复");
else
{stu[i].setStunno1(xuehao);

}
}
else if(chuangwei == 2)
{
if((stu[i].getStunno1().equals(xuehao)) ||(stu[i].getStunno4().equals(xuehao))||(stu[i].getStunno3().equals(xuehao)))
System.out.println("学号重复");
else
stu[i].setStunno2(xuehao);
}
else if(chuangwei == 3)
{
if((stu[i].getStunno1().equals(xuehao)) ||(stu[i].getStunno2().equals(xuehao))||(stu[i].getStunno4().equals(xuehao)))
System.out.println("学号重复");
else
stu[i].setStunno3(xuehao);
}
else if(chuangwei == 4)
{
if((stu[i].getStunno1().equals(xuehao)) ||(stu[i].getStunno2().equals(xuehao))||(stu[i].getStunno3().equals(xuehao)))
System.out.println("学号重复");
else
stu[i].setStunno4(xuehao);
}


}
}

}
if(j == 0)
{
System.out.println("宿舍不存在");
}

}
public static void weishengpingjia(RoomManagement [] stu)
{
int i,j;
j = 1;
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "宿舍卫生评价\r\n"
+ "***********************************************************\r\n"
+ "请输入待评价宿舍号:XXXXX\r\n"
+ "**********************************************************");
String sushehao;
Scanner sushehao1 = new Scanner(System.in);
sushehao = sushehao1.next();
for(i = 0; i < 10; i++)
{
if(stu[i].getRoomno().equals(sushehao))
{
j = 0;
if(stu[i].getStunno1() == null && stu[i].getStunno2() == null && stu[i].getStunno3() == null && stu[i].getStunno4() == null)
{
System.out.println("宿舍为空宿舍");
}
else
{
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "宿舍卫生评价\r\n"
+ "***********************************************************\r\n"
+ "宿舍号:" + stu[i].getRoomno()
+ "1、床位1:" + stu[i].getStunno1()
+ "2、床位2:" + stu[i].getStunno2()
+ "3、床位3:" + stu[i].getStunno3()
+ "4、床位4:" + stu[i].getStunno4()
+ "\r\n"
+ "输入宿舍卫生评价分数:XXXXXXX\r\n"
+ "**********************************************************");
Scanner fenshu1 = new Scanner(System.in);
int fenshu;
fenshu = fenshu1.nextInt();
if(fenshu > 100 || fenshu < 0)
{
System.out.println("错误信息");
}
else
{
stu[i].setHygienescore(fenshu);
break;
}
}
}

}
if(j == 1)
{
System.out.println("宿舍不存在");
}

}
public static void shencha(RoomManagement [] stu)
{
int i;
System.out.println("***********************************************************石家庄铁道大学\r\n"
+ "学生公寓管理系统v2022\r\n"
+ "卫生检查情况查询\r\n"
+ "***********************************************************\r\n"
+ "宿舍卫生检查情况信息");
for(i = 0; i < 10; i++)
{
if(stu[i].getHygienescore() >= 0 && stu[i].getHygienescore() <= 60)
{System.out.println(stu[i].getRoomno() + " " + stu[i].getHygienescore() + "不合格");

}
else if(stu[i].getHygienescore() > 60 && stu[i].getHygienescore() <= 80)
{
System.out.println(stu[i].getRoomno() + " " + stu[i].getHygienescore() + "合格");
}
else if(stu[i].getHygienescore() > 80 && stu[i].getHygienescore() <= 90)
{
System.out.println(stu[i].getRoomno() + " " + stu[i].getHygienescore() + "良好");
}
else if(stu[i].getHygienescore() > 90 && stu[i].getHygienescore() <= 100)
{
System.out.println(stu[i].getRoomno() + " " + stu[i].getHygienescore() + "优秀");
}
}
System.out.println("**********************************************************");
}
}

package lianxi;

import java.util.Scanner;

public class show {
public static void main(String[] args) {
int a;
RoomManagement [] stu = new RoomManagement[10];
stu [0] = new RoomManagement("9#100","2021300","2021301","2021302","2021303",0);
stu [1] = new RoomManagement("9#101","2021400","2021401","2021402","2021403",0);
stu [2] = new RoomManagement("9#102","2021500","2021501","2021502","2021503",0);
stu [3] = new RoomManagement("9#103",null ,null,null,null,0);
stu [4] = new RoomManagement("9#104",null,null,null,null,0);
stu [5] = new RoomManagement("9#105",null,null,null,null,0);
stu [6] = new RoomManagement("9#106","2021600","2021601","2021602",null,0);
stu [7] = new RoomManagement("9#107","2021700","2021701","2021702",null,0);
stu [8] = new RoomManagement("9#108","2021800","2021801","2021802",null,0);
stu [9] = new RoomManagement("9#109","2021900","2021901","2021902",null,0);
while(true)
{
Menu.show();
Scanner sc = new Scanner(System.in);
a = sc.nextInt();
if(a == 1)
{
Menu.sushechaxun(stu);
}
else if (a == 2)
{
Menu.anpaisushe(stu);
}
else if (a == 3)
{
Menu.tiaozhengsushe(stu);
}
else if (a == 4)
{
Menu.weishengpingjia(stu);
}
else if(a == 5)
{
Menu.shencha(stu);
}
else
{
System.out.println("请重新输入");
}

}
}
}

2.下周将会对代码进行修改,对代码bug修正,对代码进行优化,优化其中一些不合理的地方,包括但不限于数据存入,提示语句缺少,注释缺少。具体改进后的代码将在下次随笔发放,同时下周开始准备重新学习java,自从开学之后到现在不管是平常做题还是这次测试,java基础知识仍有很大问题,暑假学的知识零零散散,完全不能支撑自己正常的编写代码,暑假所学知识要不是不到位,要不就是遗忘,总之有不小的漏洞,想通过9月以及10月份一段时间继续巩固java的基础知识,同时会将自己认为比较重要或者容易出错,难以理解的知识记录在随笔之中。

 

标签:第一周,renshu,System,stu,宿舍,println,null
From: https://www.cnblogs.com/ewqewq/p/16653230.html

相关文章