Java测试石家庄铁道大学公寓管理系统

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].get0()+"    "+"    "+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();
    }
}

  作者:何泽雷

posted @ 2022-09-03 21:46  阿飞藏泪  阅读(38)  评论(0编辑  收藏  举报
1 2 3
4