ICode9

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

Java语言第一次课堂测试

2022-09-12 11:32:38  阅读:178  来源: 互联网

标签:RoomInformation Java String list System 测试 println 课堂 out


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

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

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

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

ICode9版权所有