Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Java Programming- DO NOT USE BREAK METHOD Goals The lab this lesson introduces s

ID: 3815804 • Letter: J

Question

Java Programming- DO NOT USE BREAK METHOD

Goals

The lab this lesson introduces students to inheritance. By the end of this lab, students should be able to

To define a subclass from a superclass through inheritance

To invoke the superclass’s constructors and methods using the super keyword

To override instance methods in the subclass

To distinguish differences between overriding and overloading

To discover polymorphism and dynamic binding

To store, retrieve, and manipulate objects in an ArrayList

Write a class Room. A Room class contains
an int instance variable for the area (in square feet) of the room
one constructor that takes the area of the room as a parameter
an accessor, int getSquareFeet() that returns the area of the room
an accessor, int getCapacity() that returns the capacity of the room. The capacity is given by dividing the square feet by 9 (using integer division).
an accessor, String toString() that returns the square feet and capacity of the room.

Write a class Classroom that extends Room. A Classroom class contains
an int instance variable for the number of chairs in the classroom
a constructor that takes the area of the classroom as a parameter
a constructor that takes the area of the classroom and the number of chairs as parameters
getter and setter for chairs
an override for getCapacity. The capacity of a classroom is the number of chairs.
an accessor, String toString() that returns the square feet and capacity of the room as well as the number of chairs.

Write a class Elevator that extends Room. An Elevator class contains
an int instance variable for the current floor of the elevator
a constructor that takes the area of the elevator as a parameter
a mutator void up(int floors) that increases the current floor by the parameter
a mutator void down(int floors) that decreases the current floor by the parameter
an accessor String toString() that returns the square feet and capacity of the elevator, as well as its current floor.

The attached file contains starter code for a class Building that you should use as a driver for the following set of classes.

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

public class Building {

public static void main(String[] args) {
  Scanner kybd = new Scanner(System.in);

  // declare an ArrayList containing Room elements
  Random rand = new Random();

  System.out.println("Enter 1: create classroom 2: create create elevator" + " 3: exit");
  int inp = kybd.nextInt();
  while (inp != 3) {
   if (inp == 1) {
    System.out.println("How many chairs? ");
    int ch = kybd.nextInt();
    Room current = new Classroom(rand.nextInt(1000) + 100, ch);
    // add current to the ArrayList
   } else if (inp == 2) {
    Elevator current = new Elevator(rand.nextInt(100) + 10);
    if (rand.nextInt(2) == 0) {
     current.up(rand.nextInt(10));
    } else {
     current.down(rand.nextInt(10));
    }
    // add current to the ArrayList
   }
   System.out.println("Enter 1: create classroom 2: create create elevator" + " 3: exit");
   inp = kybd.nextInt();
  }
  kybd.close();
  // create a for loop to walk through the ArrayList its elements, one per line

}

}

Explanation / Answer

import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
import java.util.List;

class Room
{
   private int area;

   public Room(int area)
   {
       this.area = area;
   }
   int getSquareFeet()
   {
       return area;
   }
   int getCapacity()
   {
       return area/9;
   }
   public String toString()
   {
       return "The area of room is "+ area +" square feet and capacity of the room is "+ getCapacity();
   }
  
}
class Classroom extends Room
{
    private int chairs;
  
    public Classroom(int area)
    {
        super(area);
    }
    public Classroom(int area,int chairs)
    {
      
        super(area);
        this.chairs = chairs;
    }
    public int getChairs()
    {
        return chairs;
    }
    public void setChairs(int chairs)
    {
        this.chairs = chairs;
    }
    public int getCapacity()
    {
        return chairs;
    }
    public String toString()
   {
       return "The area of Classroom is "+ getSquareFeet() +" square feet and capacity of the room is "+ getCapacity()+" and the number of chairs is "+chairs;
   }
}
class Elevator extends Room
{
    private int currentFloor;
  
    public Elevator(int area)
    {
        super(area);
    }
    public void up(int floors)
    {
        currentFloor = currentFloor + floors;
    }
    public void down(int floors)
    {
        currentFloor = currentFloor - floors;
    }
    public String toString()
   {
       return "The area of Elevator is "+ getSquareFeet() +" square feet and capacity of the elevator is "+ getCapacity()+" and the current floor is "+ currentFloor;
   }
}

class Building {

public static void main(String[] args) {
Scanner kybd = new Scanner(System.in);

// declare an ArrayList containing Room elements
List<Room> roomArray = new ArrayList<Room>();
Random rand = new Random();

System.out.println("Enter 1: create classroom 2: create create elevator" + " 3: exit");
int inp = kybd.nextInt();
while (inp != 3) {
   if (inp == 1) {
    System.out.println("How many chairs? ");
    int ch = kybd.nextInt();
    Room current = new Classroom(rand.nextInt(1000) + 100, ch);
    // add current to the ArrayList
    roomArray.add(current);
   } else if (inp == 2) {
    Elevator current = new Elevator(rand.nextInt(100) + 10);
    if (rand.nextInt(2) == 0) {
     current.up(rand.nextInt(10));
    } else {
     current.down(rand.nextInt(10));
    }
    // add current to the ArrayList
    roomArray.add(current);
   }
   System.out.println("Enter 1: create classroom 2: create create elevator" + " 3: exit");
   inp = kybd.nextInt();
}
kybd.close();
// create a for loop to walk through the ArrayList its elements, one per line

for(int i = 0; i < roomArray.size(); i++)
{
            System.out.println(roomArray.get(i).toString());
        }

}

}

Output:

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote