Question

In: Computer Science

(Code in Java please) You need to implement the GarageDoor, GarageDoorUpCommand and GarageDoorDownCommand classes (similar to...

(Code in Java please)

You need to implement the GarageDoor, GarageDoorUpCommand and GarageDoorDownCommand classes (similar to Light, LightOnCommand and LightOffCommand), AND (edited)

Implement the CeilingFan class (with state, see p. 220), AND CeilingFanHighCommand (p. 221), CeilingFanMediumCommand, CeilingFanLowCommand, CeilingFanOffCommand (WITH Undo), AND

TEST your CeilingFan classes (see pp. 222 and 223), AND

Finally, implement and Test the MacroCommand class on pp. 224-227


EXAMPLE output for homework assignment……………


======= The COMMAND PATTERN =============
guest house garage door is UP guest house garage door is down
family room tv is ON family room tv is off
bathroom ceiling fan is on MEDIUM bathroom ceiling fan is on OFF bathroom ceiling fan is on HIGH bathroom ceiling fan is on OFF
patio hottub is heating to a steaming 104 deg F and is bubbling ! patio hottub is cooling to 98 deg F
------ Remote Control -------
[slot 0] com.company.LightOnCommand
[slot 1] com.company.LightOnCommand
[slot 2] com.company.CeilingFanOnCommand
[slot 3] com.company.StereoOnWithCDCommand
[slot 4] com.company.GarageDoorUpCommand
[slot 5] com.company.CeilingFanHighCommand
[slot 6] com.company.CeilingFanMediumCommand
[slot 7] com.company.CeilingFanLowCommand
[slot 8] com.company.CeilingFanOnOffCommand
Living room light is ON --- Living room light is off
Kitchen light is ON --- Kitchen light is off
Living room ceiling fan is on HIGH --- Living room ceiling fan is off
Living room stereo is ON , CD , Volume: 11 --- Living room stereo is off , RADIO , Volume: 5
guest house garage door is UP --- guest house garage door is down
bathroom ceiling fan is on OFF bathroom ceiling fan is on LOW bathroom ceiling fan is on MEDIUM bathroom ceiling fan is on HIGH
bathroom ceiling fan is on MEDIUM bathroom ceiling fan is on LOW bathroom ceiling fan is on OFF
================= Macros running...
Living room light is ON Living room stereo is ON , CD , Volume: 11 bathroom ceiling fan is on HIGH
Living room light is off Living room stereo is off , Volume: 5 bathroom ceiling fan is on OFF
Process finished with exit code 0

Solutions

Expert Solution

import java.util.*;

class Light{

    boolean status;

    String roomName;

    public Light(String roomName){

        this.roomName = roomName;

    }

    public Light(boolean status){

        this.status = status;

        

    }

    public void LightOnCommand(){

        this.status = true;


        System.out.println("I am glowing in " + this.roomName );

        

    }

    public void LightOffCommand(){

        this.status = false;

        System.out.println("I am off in " + this.roomName);

    }

}

class CeilingFan{

    boolean status = false;

    String speed;

    String roomName;

    public CeilingFan(String roomName){

        this.roomName = roomName;

    }

    public void FanOffOn(){

        this.status = !this.status;

        if(this.status){

            System.out.println("Fan is On in " + this.roomName);

        }else{

            System.out.println("Fan Off in " + this.roomName);

        }

    }

    public void CeilingFanHighSpeed(){

        this.speed = "High";

        System.out.println("Running High in " + this.roomName);

    }

    public void CeilingFanMediumSpeed(){

        this.speed = "Medium";

        System.out.println("Running Meddium in " + this.roomName);

    }

    public void CeilingFanLowSpeed(){

        this.speed = "Low";

        System.out.println("Running Low in " + this.roomName);

    }

}

class Stereo{

    boolean status = false;

    String roomName;

    int volume = 0;

    public Stereo(String roomName){

        this.roomName = roomName;

    }

    public void StereoOnWithCDCommand(){

        this.status = !this.status;

        if(this.status){

            System.out.println("The Stereo is ON in " + this.roomName);

        }else{

            System.out.println("THe stereo is Off " + this.roomName);

        }

    }

    public void IncreseVolume(){

        if(this.status){

            this.volume = this.volume + 1;

            System.out.println("Volume: " + this.volume);

        }

        

    }

    public void DecreaseVolume(){

        if(this.status){

            if(this.volume >= 1)

                this.volume = this.volume -1 ;

            System.out.println("Volume: " + this.volume);

        }

      

    }

}


class GarageDoor{

    boolean status = false;

    String roomName;

    public GarageDoor(String roomName){

        this.roomName = roomName;

    }

    public void GarageDoorUpCommand(){

        this.status = true;

        System.out.println("The Garage door is open in " + roomName);

    }

    public void GarageDoorDownCommand(){

        this.status = false;

        System.out.println("The garage door is down for  " + this.roomName);

    }

    

    

}


public class Solution{

    public static void main(String[] args) {

        System.out.println("Remote Control");

        System.out.println("Select Room");

        System.out.println("1. Living Room");

        System.out.println("2. Guest Room");

        System.out.println("3. Kitchen");

        System.out.println("4. Bathroom");

        System.out.println("5. Family Room");

        Scanner sc = new Scanner(System.in);

        int roomNo = sc.nextInt();

        String roomName = "";


        switch (roomNo) {

            case 1:

                roomName = "Living Room";

                break;

            case 2:

                roomName = "Guest Room";

                break;

            

            case 3:

                roomName = "Kitchen";

                break;

            case 4:

                roomName = "BaathRoom";

                break;

            case 5:

                roomName = "Family Room";

        

            default:

                roomName = "UnKnown Room";

                break;

        }


        Light light = new Light(roomName);

        light.LightOnCommand();

        light.LightOffCommand();

        CeilingFan cf = new CeilingFan(roomName);

        cf.FanOffOn();

        cf.FanOffOn();

        cf.CeilingFanHighSpeed();

        cf.CeilingFanMediumSpeed();

        cf.CeilingFanLowSpeed();

        Stereo stereo = new Stereo(roomName);

        stereo.StereoOnWithCDCommand();

        stereo.IncreseVolume();

        stereo.IncreseVolume();

        stereo.DecreaseVolume();

        stereo.StereoOnWithCDCommand();

        GarageDoor garageDoor = new GarageDoor(roomName);

        garageDoor.GarageDoorUpCommand();

        garageDoor.GarageDoorDownCommand();


    }

}



Related Solutions

Java code. You will need to make classes that could be used to stage a battle...
Java code. You will need to make classes that could be used to stage a battle as described below. You have been tasked to create a number of items that can be used in an online game. All items can be used on a game character who will have a name, a number of health-points and a bag to hold the items.   Here are examples of items that can be made: Item type of item effectOnHealth other info Widow's Cloak...
a java code In this lab you will implement an inorder traversal, and a search for...
a java code In this lab you will implement an inorder traversal, and a search for a 2-3-4 tree. The inorder traversal will print the contents (integers) of the tree, and the search method will return a boolean, indicating whether a given key was found in the tree. Examine the provided template. The main method is provided for you, as well as a template of the Node and 2-3-4 classes. The main method will read either "inorder" or an integer...
This program focuses on programming with Java Collections classes. You will implement a module that finds...
This program focuses on programming with Java Collections classes. You will implement a module that finds a simplified Levenshtein distance between two words represented by strings. Your program will need support files LevenDistanceFinder.Java, dictionary.txt, while you will be implementing your code in the LevenDistanceFinder.java file. INSTRUCTIONS The Levenshtein distance, named for it's creator Vladimir Levenshtein, is a measure of the distance between two words. The edit distance between two strings is the minimum number of operations that are needed to...
IN JAVA. I have the following code (please also implement the Tester to test the methods...
IN JAVA. I have the following code (please also implement the Tester to test the methods ) And I need to add a method called public int remove() that should remove the first integer of the array and return it at the dame time saving the first integer and bring down all other elements. After it should decrease the size of the array, and after return and save the integer. package ourVector; import java.util.Scanner; public class ourVector { private int[]...
I need a full java code. And I need it in GUI With the mathematics you...
I need a full java code. And I need it in GUI With the mathematics you have studied so far in your education you have worked with polynomials. Polynomials are used to describe curves of various types; people use them in the real world to graph curves. For example, roller coaster designers may use polynomials to describe the curves in their rides. Polynomials appear in many areas of mathematics and science. Write a program which finds an approximate solution to...
JAVA JAVA JAVA Hey i need to find a java code for my homework, this is...
JAVA JAVA JAVA Hey i need to find a java code for my homework, this is my first java homework so for you i don't think it will be hard for you. (basic stuff) the problem: Write a complete Java program The transport Company in which you are the engineer responsible of operations for the optimization of the autonomous transport of liquid bulk goods, got a design contract for an automated intelligent transport management system that are autonomous trucks which...
Please do this in java program. In this assignment you are required to implement the Producer...
Please do this in java program. In this assignment you are required to implement the Producer Consumer Problem . Assume that there is only one Producer and there is only one Consumer. 1. The problem you will be solving is the bounded-buffer producer-consumer problem. You are required to implement this assignment in Java This buffer can hold a fixed number of items. This buffer needs to be a first-in first-out (FIFO) buffer. You should implement this as a Circular Buffer...
//Complete the incomplete methods in the java code //You will need to create a driver to...
//Complete the incomplete methods in the java code //You will need to create a driver to test this. public class ManagedArray { private int[] managedIntegerArray; //this is the array that we are managing private int maximumSize; //this will hold the size of the array private int currentSize = 0; //this will keep track of what positions in the array have been used private final int DEFAULT_SIZE = 10; //the default size of the array public ManagedArray()//default constructor initializes array to...
Java Searching and Sorting, please I need the Code and the Output. Write a method, remove,...
Java Searching and Sorting, please I need the Code and the Output. Write a method, remove, that takes three parameters: an array of integers, the length of the array, and an integer, say, removeItem. The method should find and delete the first occurrence of removeItem in the array. If the value does not exist or the array is empty, output an appropriate message. (After deleting an element, the number of elements in the array is reduced by 1.) Assume that...
Using Java please implement a 4x4 Tic-Tac-Toe with Minimax with alpha-beta pruning. PLease comment code heavily...
Using Java please implement a 4x4 Tic-Tac-Toe with Minimax with alpha-beta pruning. PLease comment code heavily so I can follow along and understand the steps. Thank you
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT