首页 > 编程语言 >Java测试石家庄铁道大学公寓管理系统

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

时间:2022-09-03 21:56:05浏览次数:75  
标签: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,输入
From: https://www.cnblogs.com/daitu66/p/16653780.html

相关文章

  • JAVA学习笔记
    Day01 final关键字如果final修饰类中的某一个属性,那么这个属性只能通过构造函数确定值,在确定值以后不能被更改如果final修饰类,那么这个类的实例只能指向一个对象,对象......
  • Java 泛型与通配符 定义与使用
    一、泛型定义:把类型明确的工作推迟到创建对象或调用方法时才明确的类型,简而言之,未明确的数据类型。类型:泛型类,泛型方法,方形接口。格式泛型类格式:class类名<E变量......
  • 开学的JavaScript第一次测试
    这次的课堂测试我的成绩并不理想,经过一些时间的反思,我总结了一些不周到的原因,首先是我在做老师的给定的程序是没有仔细阅读,没有看到一些具体的要求,导致多米诺古效应,所以进......
  • JavaConfig和XML之间的互相引用
    JavaConfig引用JavaConfig  现在,我们临时假设PersonConfig已经变得有些笨重,我们想要将其进行拆分。当然,它目前只定义了两个bean,远远称不上复杂的Spring配置。不过......
  • JavaScript 非运算(!)之双感叹号的使用技巧
    我的另一篇博文中提到JavaScript有哪些是假值,哪些是真值。对于null、undefined、"",等一些假值,JavaScript直接视为false。我有一个需求,判断从浏览器中获取的Cookie是......
  • 【设计模式】Java设计模式 -工厂模式
    【设计模式】Java设计模式-工厂模式......
  • java复习随笔(三)
    常用类StringBuffer类String类创建的字符串是常量,是不可更改的。若要对字符串进行动态增减。则用StringBuffer类,它的对象是可以扩充和修改的,因此StringBuffer又称动态字......
  • Eclipse配置Tomcat搭建java Web (JSP)开发环境
    配置Tomcat服务1.打开窗口-首选项-Server-RuntiomeEnvironments2.点击ADD,选择对应的Tomcat版本,点击下一步路径选择Tomcat解压后的文件夹目录,点击完成并保存创建动......
  • 【Java基础】注释、标识符、关键字
    注释、标识符、关键字1.注释准备阶段建项目是要新建一个空的项目空项目新建完成后要新建一个模组新建的空项目需要配置环境(不勾选环境程序无法执行)注释......
  • java 简介 与 安装
    java简介与安装一、Java简介java的特性和优势简单性面向对象可移植性高性能分布式动态性多线程安全性健壮性Java的三大版本JavaSE:标......