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人    空宿舍
***********************************************************

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/288993.html

(0)
上一篇 2022年9月12日
下一篇 2022年9月12日

相关推荐

发表回复

登录后才能评论