编程语言
首页 > 编程语言> > Java语言第一次课堂测试

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

package Room;

public class RoomInformation {

    String roomno;    //宿舍号最长八位
    String stunno1 ;   //学号,长度8位
    String stunno2 ;
    String stunno3 ;
    String stunno4 ;
    int hygienescore = 0;  //卫生评分
    
    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 RoomInformation( )
    {
     
    }
    public void setRoomno(String roomno)
    {
        this.roomno = roomno;
    }
    public void setS1(String stunno1)
    {
        this.stunno1 = stunno1 ;
    }
    public void setS2(String stunno2)
    {
        this.stunno2 = stunno2;
    }
    public void setS3(String stunno3)
    {
        this.stunno3 = stunno3;
    }
    public void setS4(String stunno4)
    {
        this.stunno4 = stunno4;
    }
    public void setH(int hygienescore)
    {
        this.hygienescore = hygienescore;
    }
    
    
    public String getRoom()
    {
        return roomno;
    }
    public String getS1()
    {
        return stunno1;
    }
    public String getS2()
    {
        return stunno2;
    }
    public String getS3()
    {
        return stunno3;
    }
    public String getS4()
    {
        return stunno4;
    }
    public int getH()
    {
        return hygienescore;
    }
    
}
package Room;

import java.util.ArrayList;
import java.util.Scanner;


public class RoomManagement {

    static  Scanner sc  = new Scanner(System.in);
     
     static ArrayList <RoomInformation> list = new ArrayList<>();
     public static int n = 0 ;
     
    //主函数
    public static void main(String [] args) {
        
        
        RoomInformation a = new RoomInformation("9#101","001","002","003","004",0);
        list.add(a);        
        RoomInformation b = new RoomInformation("9#102","005","006","007","008",0);
        list.add(b);
        RoomInformation c = new RoomInformation("9#103","009","010",null,null,0);
        list.add(c);
        RoomInformation d = new RoomInformation("9#104",null,null,null,"011",0);
        list.add(d);
        RoomInformation e = new RoomInformation("9#105","012","013","014","015",0);
        list.add(e);
        RoomInformation f = new RoomInformation("9#106","016","017","018","019",0);
        list.add(f);
        RoomInformation g = new RoomInformation("9#107",null,null,null,null,0);
        list.add(g);
        RoomInformation h = new RoomInformation("9#108",null,null,null,null,0);
        list.add(h);
        RoomInformation j = new RoomInformation("9#109",null,null,null,null,0);
        list.add(j);
        RoomInformation k = new RoomInformation("9#110",null,null,null,null,0);
        list.add(k);

        while(true) {

            System.out.println("***********************************************************");
            System.out.println("            石家庄铁道大学");
            System.out.println("            学生公寓管理系统v2022");
            System.out.println("***********************************************************");
            System.out.println("            1、宿舍查询");
            System.out.println("            2、安排新宿舍");
            System.out.println("            3、调整宿舍");
            System.out.println("            4、宿舍卫生评价");
            System.out.println("            5、卫生检查情况查询");
            System.out.println("**********************************************************");

            String str = sc.next();
            switch(str) {
            case "1" -> Show(list);
            case "2" -> Add(list);
            case "3" -> Updata(list);
            case "4" -> Score(list);
            case "5" -> Find(list);
            default -> System.out.println("该选项不存在");
            }
        }
        
    }
    //宿舍查询
    public static void Show(ArrayList <RoomInformation> list)
    {
        System.out.println("***********************************************************");
        System.out.println("            石家庄铁道大学");
        System.out.println("            学生公寓管理系统v2022");
        System.out.println("***********************************************************");
        System.out.println("            宿舍详细信息列表");
        for(int i = 0 ; i < list.size(); i++)
        System.out.println(i+1 + "、" + list.get(i).roomno + "    " +  num(list.get(i)) + "人    " + IF(list.get(i)));
        System.out.println("***********************************************************");
    }
    //安排新宿舍
    public static void Add(ArrayList <RoomInformation> list)
    {
        System.out.println("***********************************************************");
        System.out.println("            石家庄铁道大学");
        System.out.println("            学生公寓管理系统v2022");
        System.out.println("            安排新宿舍");
        System.out.println("***********************************************************");
        System.out.println("        空宿舍详细信息列表");
        for(int i = 0 ; i<list.size(); i++)
        {
            int j = 1 ;
            if(num(list.get(i)) == 0)
            {
                System.out.println(j + "、" + list.get(i).roomno + "    " +  num(list.get(i)) + "人    " + IF(list.get(i)));
                j++;
            }
        }
        System.out.println("请输入新宿舍号:XXXXX");
        System.out.println("***********************************************************");
        
        String room = sc.next();
        RoomInformation r = new RoomInformation();
        r.setRoomno(room);
        int index = address(r); //索引
        r = list.get(index);
        
        if(IF(r).equals("空宿舍"))
        {
            if(onlyq(r))  //新寝室
            {
              list.add(r);
            }
        
            System.out.println("***********************************************************");
            System.out.println("            石家庄铁道大学");
            System.out.println("            学生公寓管理系统v2022");
            System.out.println("            安排新宿舍");
            System.out.println("***********************************************************");
            System.out.println("             新宿舍号:" + r.roomno);
            System.out.println("        1、床位1:" + r.stunno1);
            System.out.println("        2、床位2:" + r.stunno2);
            System.out.println("        3、床位3:" + r.stunno3);
            System.out.println("        4、床位4:" + r.stunno4);
            System.out.println("***********************************************************");

            int sum = 1;
            
            while(true)
            {
                String id = sc.next();
                if(id.equals("END"))
                {
                    return ;
                }
                if(only(id))  //没出现过得学号
                {
                    RoomInformation a = list.get(index);
                    if(sum == 1)
                        a.setS1(id);
                    if(sum == 2)
                        a.setS2(id);
                    if(sum == 3)
                        a.setS3(id);
                    if(sum == 4)
                        a.setS4(id);
                    sum++;
                }else {
                    System.out.println("该学生已分配宿舍");
                }
                if(sum == 5)
                {
                    System.out.println("该宿舍已满");
                    return;
                }
            }
        }
        else{
            System.out.println("该宿舍不是空宿舍,无法安排新生");
        }
        
    }
            
    //、调整宿舍
    public static void Updata(ArrayList <RoomInformation> list)
    {
        System.out.println("***********************************************************");
        System.out.println("            石家庄铁道大学");
        System.out.println("            学生公寓管理系统v2022");
        System.out.println("            调整宿舍");
        System.out.println("***********************************************************");
        System.out.println("        有空床位宿舍详细信息列表");
        
        int j = 1 ;
        for(int i = 0 ; i<list.size(); i++)
        {
            
            if(num(list.get(i)) > 0 && num(list.get(i)) < 4)
            {
                System.out.println(j + "、" + list.get(i).roomno + "    " +  num(list.get(i)) + "人    " + IF(list.get(i)));
                j++;
            }
        }
        System.out.println("        请输入待调整宿舍号:XXXXX");
        System.out.println("***********************************************************");
        
        String room = sc.next();
        RoomInformation r = new RoomInformation();
        r.setRoomno(room);
        int index = address(r); //索引
        r = list.get(index);
        
        if(num(r) > 0 && num(r) < 4)
        {

            System.out.println("***********************************************************");
            System.out.println("            石家庄铁道大学");
            System.out.println("            学生公寓管理系统v2022");
            System.out.println("            调整宿舍");
            System.out.println("***********************************************************");
            System.out.println("        待调整宿舍号:"+ r.roomno);
            System.out.println("        1、床位1:" + r.stunno1);
            System.out.println("        2、床位2:" + r.stunno2);
            System.out.println("        3、床位3:" + r.stunno3);
            System.out.println("        4、床位4:" + r.stunno4);
            System.out.println("***********************************************************");
            
            int sum = num(list.get(index));  //已有人数
            sum++;
            
            while(true)
            {
                String id = sc.next();
                if(id.equals("END"))
                {
                    return ;
                }
                if(only(id))  //没出现过得学号
                {
                    RoomInformation a = list.get(index);
                    if(sum == 1)
                        a.setS1(id);
                    if(sum == 2)
                        a.setS2(id);
                    if(sum == 3)
                        a.setS3(id);
                    if(sum == 4)
                        a.setS4(id);
                    sum++;
                }else {
                    System.out.println("该学生已分配宿舍");
                }
                if(sum == 5)
                {
                    System.out.println("该宿舍已满");
                    return;
                }
            }
        }
        else
        {
            System.out.println("该宿舍没有空床位,无法调整");
        }

    }
    //宿舍卫生评价
    public static void Score(ArrayList <RoomInformation> list)
    {
        System.out.println("***********************************************************");
        System.out.println("            石家庄铁道大学");
        System.out.println("            学生公寓管理系统v2022");
        System.out.println("            宿舍卫生宿舍");
        System.out.println("***********************************************************");
        System.out.println("        请输入待评价宿舍号:XXXXX");
        System.out.println("***********************************************************");
        
        while(true)
      {
        String room = sc.next();
        RoomInformation r = new RoomInformation();
        r.setRoomno(room);
        int index = address(r); //索引
        r = list.get(index);
        
        if(IF(r).equals("空宿舍"))
        {
            System.out.println("该宿舍为空宿舍");
        }
        else
        {
            
            System.out.println("***********************************************************");
            System.out.println("            石家庄铁道大学");
            System.out.println("            学生公寓管理系统v2022");
            System.out.println("            宿舍卫生评价");
            System.out.println("***********************************************************");
            System.out.println("             宿舍号:" + r.roomno);
            System.out.println("        1、床位1:" + r.stunno1);
            System.out.println("        2、床位2:" + r.stunno2);
            System.out.println("        3、床位3:" + r.stunno3);
            System.out.println("        4、床位4:" + r.stunno4);
            System.out.println("        输入宿舍卫生评价分数:XXXXXXX");
            System.out.println("***********************************************************");

            int score = sc.nextInt();
            if(score>=0 && score <= 100)
            {
                r.setH(score);
            }
            else
            {
                System.out.println("输入错误");
            }
            break;
        }
      }
        
}
    //卫生检查情况查询
    public static void Find(ArrayList <RoomInformation> list)
    {
        System.out.println("***********************************************************");
        System.out.println("            石家庄铁道大学");
        System.out.println("            学生公寓管理系统v2022");
        System.out.println("            卫生检查情况查询");
        System.out.println("***********************************************************");
        System.out.println("            宿舍卫生检查情况信息");
        for(int i = 0 ; i < list.size(); i++)
            System.out.println(i+1 + "、" + list.get(i).roomno + "    " +  list.get(i).hygienescore + "    " + YES(list.get(i)));
            System.out.println("***********************************************************");
    }
    //人数情况
    public static int num(RoomInformation a)
    {
        int j = 0;
            if(a.stunno1 != null)
                j++;
            if(a.stunno2 != null)
                j++;
            if(a.stunno3 != null)
                j++;
            
            if(a.stunno4 != null)
                j++;
            return j;
    }
    //是否满人
    public static String IF(RoomInformation a)
    {
        if(num(a) == 4)
        {
            return "已满";
        }
        if(num(a) == 3)
        {
            return "空1人";
        }
        if(num(a) == 2)
        {
            return "空2人";
        }
        if(num(a) == 1)
        {
            return "空3人";
        }
        return "空宿舍";
    }
    //学号判重
    public static boolean only(String id)
    {
        for(int i = 0 ; i < list.size() ;i ++)
        {
                if(id.equals( list.get(i).stunno1) || id.equals( list.get(i).stunno2) || id.equals( list.get(i).stunno3) || id.equals( list.get(i).stunno4))
                {
                    return false;
                }
        }
        return true;
    }

    //寝室判重
    public static boolean onlyq(RoomInformation r)
    {
        for(int i = 0 ; i< list.size(); i++)
        {
            if(r.roomno.equals( list.get(i).roomno))
            {
                return false;
            }
        }
        return true;
    }

    //索引
    public static int address(RoomInformation r)
    {
        for(int i = 0 ; i< list.size(); i++)
        {
            if(r.roomno.equals( list.get(i).roomno))
            {
                return i;
            }
        }
        return 0;
    }

    //寝室是否及格
    public static String YES(RoomInformation r)
    {
        if(r.hygienescore >= 90)
            return "优秀";
        if(r.hygienescore < 90 && r.hygienescore >=80)
            return "良好";
        if(r.hygienescore < 80 && r.hygienescore >= 60)
            return "及格";
        
        return "不合格";
    }
}

输出演示

***********************************************************
			石家庄铁道大学
		    学生公寓管理系统v2022
***********************************************************
			1、宿舍查询
			2、安排新宿舍
			3、调整宿舍
			4、宿舍卫生评价
			5、卫生检查情况查询
**********************************************************
1
***********************************************************
			石家庄铁道大学
		    学生公寓管理系统v2022
***********************************************************
			宿舍详细信息列表
1、9#101    4人    已满
2、9#102    4人    已满
3、9#103    2人    空2人
4、9#104    1人    空3人
5、9#105    4人    已满
6、9#106    4人    已满
7、9#107    0人    空宿舍
8、9#108    0人    空宿舍
9、9#109    0人    空宿舍
10、9#110    0人    空宿舍
***********************************************************

标签:RoomInformation,Java,String,list,System,测试,println,课堂,out
来源: https://www.cnblogs.com/fan-wang/p/16685775.html