ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-09-03 22:03:39  阅读:164  来源: 互联网

标签:Java String 学号 管理系统 宿舍 床位 铁道 public 输入


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,输入
来源: https://www.cnblogs.com/daitu66/p/16653780.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有