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分。
public class RoomInformation { private String roomno; private String stunno1; private String stunno2; private String stunno3; private String stunno4; private int 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; } public void set( String stunno1,String stunno2 ,String stunno3 ,String stunno4 ) { this .stunno1=stunno1; this .stunno2=stunno2; this .stunno3=stunno3; this .stunno4=stunno4; } public void set0(int a) { hygienescore=a; } public String get0() { return roomno; } public String get1() { return stunno1; } public String get2() { return stunno2; } public String get3() { return stunno3; } public String get4() { return stunno4; } public int get5() { return hygienescore; } }
import java.util.Scanner; public class RoomManagement { static Scanner sc = null; static RoomInformation[] s = new RoomInformation[10]; static int h = 0; public static int mue()// 主菜单 { sc = new Scanner(System.in); System.out.println("***********************************************************"); System.out.println(" 石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n"); System.out.println("***********************************************************"); System.out.println(" 1、宿舍查询\r\n" + " 2、安排新宿舍\r\n" + " 3、调整宿舍\r\n" + " 4、宿舍卫生评价\r\n" + " 5、卫生检查情况查询\r\n" + " "); System.out.println("***********************************************************"); int x = sc.nextInt(); return x; } public static boolean cf(String a) { int j = 0; for (int i = 0; i < 9; i++) { if (a.equals(s[i].get1())) j++; if (a.equals(s[i].get2())) j++; if (a.equals(s[i].get3())) j++; if (a.equals(s[i].get4())) j++; } if (j == 0) return true; else return false; } public static void mb()// 安排新宿舍表头 { System.out.println("***********************************************************\r\n" + "\r\n" + " 石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + " 安排新宿舍\r\n" + "***********************************************************\r\n" + " 新宿舍号:\r\n" + " 1、床位1:" + s[h].get1() + "\r\n" + " 2、床位2:" + s[h].get2() + "\r\n" + " 3、床位3:" + s[h].get3() + "\r\n" + " 4、床位4:" + s[h].get4() + "\r\n" + "\r\n" + "**********************************************************\r\n" + ""); } public static void mue1()// 表头1 { System.out.println("\r\n" + "***********************************************************石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + "***********************************************************\r\n" + " 宿舍详细信息列表"); pm(); } public static void mue2() { System.out.println( "***********************************************************\r\n" + " 石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + "***********************************************************\r\n" + " 安排新宿舍\r\n" + "***********************************************************\r\n"); pm1(); System.out.println(" 请输入新宿舍号:XXXXX\r\n" + "**********************************************************\r\n" + ""); System.out.println("请输入宿舍号"); String a; a = sc.next(); if (pm2(a) == false) { System.out.println("该宿舍不是空宿舍,无法安排新生"); } else { mb(); System.out.println("请输入要入住学生学号"); String y = null; int i = 0; for (i = 0; i < 4; i++) { y = sc.next(); if (cf(y) == false) { s[h].set(null, null, null, null); mb(); System.out.println("输入错误,请重新输入"); mue2(); break; } if (y.contains("END")) { System.out.println("分配完毕"); if (i == 0) s[h].set(y.substring(0, 8), null, null, null); if (i == 1) s[h].set(s[h].get1(), y.substring(0, 8), null, null); if (i == 2) s[h].set(s[h].get1(), s[h].get2(), y.substring(0, 8), null); mb(); break; } if (i == 0) s[h].set(y, null, null, null); if (i == 1) s[h].set(s[h].get1(), y, null, null); if (i == 2) s[h].set(s[h].get1(), s[h].get2(), y, null); if (i == 3) s[h].set(s[h].get1(), s[h].get2(), s[h].get3(), y); } if (i == 4) mb(); } } public static void pm()// 判断人是否满员 { int i = 0; String r = null; for (int k = 1; k <= 9; k++) { i = psu(k - 1); if (i == 4) r = "已满"; if (i == 3) r = "空1人"; if (i == 2) r = "空2人"; if (i == 1) r = "空3人"; if (i == 0) r = "空宿舍"; System.out.println(k + "、" + s[k - 1].get0() + " " + i + "人" + " " + r); } } public static boolean pm2(String a) { int i = 0, l = 0; for (int k = 1; k <= 9; k++) { i = psu(k - 1); if (i == 0) { if (a.equals(s[k - 1].get0())) { h = k - 1; return true; } } } return false; } public static void su() { int k = 1; for (int i = 0; i < 9; i++) { if (pm5(s[i].get0())) { int g = 4 - psu(i); System.out.println(k + "、" + s[i].get0() + " " + psu(i) + "人" + " " + "空" + g + "人"); k++; } ; } } public static boolean pm5(String a) { int i = 0, l = 0; String r = null; for (int k = 1; k <= 9; k++) { i = psu(k - 1); if (i < 4 && i > 0) { if (a.equals(s[k - 1].get0())) { h = k - 1; return true; } } } return false; } public static int pm6(String a) { int i = 0, l = 4; for (int k = 1; k <= 9; k++) { i = psu(k - 1); if (i < 4 && i > 0) { if (a.equals(s[k - 1].get0())) { h = k - 1; return i; } } } return 0; } public static void pm1() { int i = 0, l = 0; String r = null; for (int k = 1; k <= 9; k++) { i = psu(k - 1); if (i == 0) r = "空宿舍"; if (r == "空宿舍") { l++; System.out.println(l + "、" + s[k - 1].get0() + " " + i + "人" + " " + r); } } } public static void mb1(String a) { System.out.println("***********************************************************" + "石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + " 调整宿舍\r\n" + "***********************************************************\r\n" + " 待调整宿舍号:" + a + "\r\n"); System.out.println("1、床位1:" + s[h].get1()); System.out.println("2、床位2:" + s[h].get2()); System.out.println("3、床位3:" + s[h].get3()); System.out.println("4、床位4:" + s[h].get4()); } public static void mue4() { System.out.println("***********************************************************" + " 石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + " 调整宿舍\r\n" + "***********************************************************\r\n" + " 有空床位宿舍详细信息列表\r\n"); su(); System.out.println(" …………………….\r\n" + " 请输入待调整宿舍号:XXXXX\r\n" + "**********************************************************\r\n"); String a; a = sc.next(); if (pm5(a) == false) { System.out.println("该宿舍没有空床位,无法调整"); } else { mb1(a); System.out.println("请输入要入住学生学号"); String y = null; int i = pm6(a); while (i < 4) { y = sc.next(); if (cf(y) == false) { s[h].set(s[h].get1(), s[h].get2(), s[h].get3(), s[h].get4()); mb1(a); System.out.println("输入错误,请重新输入"); mue4(); break; } if (y.contains("END")) { System.out.println("分配完毕"); if (i == 1) s[h].set(s[h].get1(), y.substring(0, 8), null, null); if (i == 2) s[h].set(s[h].get1(), s[h].get2(), y.substring(0, 8), null); mb1(a); break; } if (i == 1) { s[h].set(s[h].get1(), y, null, null); i++; continue; } if (i == 2) { s[h].set(s[h].get1(), s[h].get2(), y, null); i++; continue; } if (i == 3) { s[h].set(s[h].get1(), s[h].get2(), s[h].get3(), y); i++; } } if (i == 4) mb1(a); } } public static int psu(int i) { int count = 0; if (s[i].get1() != null) { count++; } if (s[i].get2() != null) { count++; } if (s[i].get3() != null) { count++; } if (s[i].get4() != null) { count++; } return count; } public static boolean pk(String a) { int i = 0; for (int k = 1; k <= 9; k++) { if (a.equals(s[k - 1].get0())) { i = psu(k - 1); if (i != 0) { h = k - 1; return true; } } } return false; } public static void pl(String a) { for (int i = 0; i < 9; i++) { if (a.equals(s[i].get0())) { h = i; } } } public static void mue7() { System.out.println("***********************************************************\r\n" + " 石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + " 宿舍卫生评价\r\n" + "***********************************************************\r\n" + " 宿舍号\r\n" + s[h].get0()); System.out.println("1、床位1:" + s[h].get1()); System.out.println("2、床位2:" + s[h].get2()); System.out.println("3、床位3:" + s[h].get3()); System.out.println("4、床位4:" + s[h].get4()); System.out.println(" 输入宿舍卫生评价分数:XXXXXXX\r\n" + "**********************************************************\r\n"); } public static void mue5() { System.out.println("***********************************************************\r\n" + " 石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + " 宿舍卫生宿舍\r\n" + "***********************************************************\r\n" + " 请输入待评价宿舍号:XXXXX\r\n" + "**********************************************************\r\n"); String a; a = sc.next(); if (pk(a) == false) { System.out.println("该宿舍为空宿舍,输入错误"); mue5(); } else { mue7(); while (true) { int b; b = sc.nextInt(); if (b < 0 || b > 100) { System.out.println("输入错误,请重新输入");mue7(); } else { s[h].set0(b); fre(); break; } } } } public static void mue6() { System.out.println("***********************************************************\r\n" +" 石家庄铁道大学\r\n" + " 学生公寓管理系统v2022\r\n" + " 卫生检查情况查询\r\n" + "***********************************************************\r\n"); System.out.println("***********************************************************\r\n" +" 宿舍卫生检查情况信息\r\n" ); for(int i=0;i<9;i++){ String r=null; if(s[i].get5()<60){r="不合格";} if(s[i].get5()>=60&&s[i].get5()<80){r="合格";} if(s[i].get5()>=80&&s[i].get5()<90){r="良好";} if(s[i].get5()>=90){r="优秀";} System.out.println(i+1+"、"+" "+s[i].get5()+" "+r); } } public static void fre()// 调用 { int e = 1; while (true) { int xuan; xuan = mue(); if (xuan >= 1 && xuan <= 5) { switch (xuan) { case 1: { mue1(); break; } case 2: { mue2(); break; } case 3: { mue4(); break; } case 4: { mue5(); break; } case 5: { mue6(); System.exit(0); break; } } } else { System.out.println("输入错误,请重新输入"); xuan = mue(); } } } public static void main(String[] args) { s[0] = new RoomInformation("9#101", "20213720", "20213721", "20213722", "20213723", 0); s[1] = new RoomInformation("9#102", "20213724", "20213725", "20213726", "20213727", 0); s[2] = new RoomInformation("9#103", "20213728", "20213729", "20213730", null, 0); s[3] = new RoomInformation("9#104", "20213731", "20213732", null, null, 0); s[4] = new RoomInformation("9#105", "20213733", null, null, null, 0); s[5] = new RoomInformation("9#106", "20213734", "20213735", "20213736", "20213737", 0); s[6] = new RoomInformation("9#107", null, null, null, null, 0); s[7] = new RoomInformation("9#108", null, null, null, null, 0); s[8] = new RoomInformation("9#109", null, null, null, null, 0); // s[9]=new // RoomInformation("9#101","20213720","20213721","20213722","20213723",0); fre(); } }
作者:何泽雷
标签:Java,String,学号,管理系统,宿舍,床位,铁道,public,输入 From: https://www.cnblogs.com/daitu66/p/16653780.html