Java

OOP GUIDE / WORK

 

ROOM CLASS 2 SOLUTIONS

 

TASK – PART 1 – SETUP

 

Here is my solution so far:

 

public class RoomArraysTester

{

    

 

}

 

 

 

TASK – PART 2 – ROOMARRAYTESTER CLASS

 

 public class RoomArraysTester

{

      public static void main(String[] args)

      {

            Room[] rooms = new Room[43];

            System.out.println(rooms[0]);  //null

                       

            rooms[0]  = new Room(101, "classroom", 82, true);

            rooms[1]  = new Room(103, "office", 6, false);

            rooms[2]  = new Room(107, "classroom", 140, true);

            rooms[3]  = new Room(109, "classroom", 60, true);

            rooms[4]  = new Room(110, "washroom", 18, false);

            rooms[5]  = new Room(111, "washroom", 21, false);

            rooms[6]  = new Room(120, "classroom", 74, true);

            rooms[7]  = new Room(124, "office", 24, true);

            rooms[8]  = new Room(125, "office", 18, true);

            rooms[9]  = new Room(127, "classroom", 88, true);

            rooms[10] = new Room(129, "classroom", 92, true);

            rooms[11] = new Room(131, "classroom", 112, true);

            rooms[12] = new Room(132, "classroom", 74, false);

            rooms[13] = new Room(134, "washroom", 20, false);

            rooms[14] = new Room(140, "washroom", 24, false);

            rooms[15] = new Room(161, "changeroom", 88, true);

            rooms[16] = new Room(162, "changeroom", 88, true);

            rooms[17] = new Room(164, "gym", 680, true);

            rooms[18] = new Room(170, "classroom", 122, true);

            rooms[19] = new Room(171, "classroom", 98, true);

            rooms[20] = new Room(175, "classroom", 84, false);

            rooms[21] = new Room(177, "classroom", 82, true);

            rooms[22] = new Room(182, "office", 42, false);

            rooms[23] = new Room(183, "office", 34, false);

            rooms[24] = new Room(185, "classroom", 92, false);

            rooms[25] = new Room(186, "classroom", 78, true);

            rooms[26] = new Room(192, "storage", 78, true);

            rooms[27] = new Room(194, "classroom", 81, true);

            rooms[28] = new Room(204, "classroom", 102, true);

            rooms[29] = new Room(205, "classroom", 64, true);

            rooms[30] = new Room(212, "classroom", 114, false);

            rooms[31] = new Room(213, "classroom", 94, true);

            rooms[32] = new Room(216, "washroom", 22, false);

            rooms[33] = new Room(217, "washroom", 25, false);

            rooms[34] = new Room(219, "classroom", 84, false);

            rooms[35] = new Room(224, "classroom", 106, true);

            rooms[36] = new Room(225, "classroom", 103, true);

            rooms[37] = new Room(229, "storage", 102, false);

            rooms[38] = new Room(234, "storage", 104, false);

            rooms[39] = new Room(245, "office", 45, false);

            rooms[40] = new Room(248, "office", 16, false);

            rooms[41] = new Room(256, "classroom", 87, true);

            rooms[42] = new Room(258, "classroom", 79, true);

 

            System.out.println("Classroom count: " + countClassrooms(rooms));

            System.out.println("Total area: " + totalArea(rooms));

            System.out.println("UNVENTILATED ROOMS:");

            outputUnventilatedRooms(rooms);

            System.out.println("Room for students: " + studentEstimate(rooms));

      }

     

      //======================================================

     

      public static int countClassrooms(Room[] r)

      {

            int count = 0;

            for (int i=0; i<r.length; i++)

            {

                  if (r[i].getRoomType().equals("classroom"))

                  {

                        count++;

                  }

            }

            return count;

      }

 

      //======================================================

     

      public static double totalArea(Room[] r)

      {

            double totalArea = 0;

            for (int i=0; i<r.length; i++)

            {

                  totalArea += r[i].getRoomArea();

            }

            return totalArea;

      }

 

      //======================================================

     

      public static void outputUnventilatedRooms(Room[] r)

      {

            for (int i=0; i<r.length; i++)

            {

                  if (r[i].getHasVentilation() == false)

                  {

                        System.out.println(r[i]);

                  }

            }

      }

      //======================================================

 

      public static int studentEstimate(Room[] r)

      {

            int students = 0;

            for (int i=0; i<r.length; i++)

            {

                  if (r[i].getRoomType().equals("classroom"))

                  {

                        double studentArea = r[i].getRoomArea() - 10;

                        double roomStudents = studentArea / 2.5;

                        students += (int)(roomStudents);

                  }

            }

            return students;

      }

     

      //======================================================

}

 

 

The above code gives the following output:

 

null

Classroom count: 24

Total area: 3647.0

UNVENTILATED ROOMS:

Room 103, office, 6.0 sqmeters, not ventilated

Room 110, washroom, 18.0 sqmeters, not ventilated

Room 111, washroom, 21.0 sqmeters, not ventilated

Room 132, classroom, 74.0 sqmeters, not ventilated

Room 134, washroom, 20.0 sqmeters, not ventilated

Room 140, washroom, 24.0 sqmeters, not ventilated

Room 175, classroom, 84.0 sqmeters, not ventilated

Room 182, office, 42.0 sqmeters, not ventilated

Room 183, office, 34.0 sqmeters, not ventilated

Room 185, classroom, 92.0 sqmeters, not ventilated

Room 212, classroom, 114.0 sqmeters, not ventilated

Room 216, washroom, 22.0 sqmeters, not ventilated

Room 217, washroom, 25.0 sqmeters, not ventilated

Room 219, classroom, 84.0 sqmeters, not ventilated

Room 229, storage, 102.0 sqmeters, not ventilated

Room 234, storage, 104.0 sqmeters, not ventilated

Room 245, office, 45.0 sqmeters, not ventilated

Room 248, office, 16.0 sqmeters, not ventilated

Room for students: 768