开学测试石家庄铁道大学学生宿舍管理系统

 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)赋值

 

 

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-11-06 16:40  十乂  阅读(182)  评论(0)    收藏  举报