Design a class named Fan to represent a fan.

Design a class named Fan to represent a fan.

LANGUAGE:  JAVA

CHALLENGE:

(The Fan class ) Design a class named Fan to represent a fan. The class contains:
– Three constants named SLOW, MEDIUM, and FAST with the values 1, 2, and 3 to denote the fan speed.
– A private int data field named speed that specifies the speed of the fan (the default is SLOW).
– A private boolean data field named on that specifies whether the fan is on (the default is false ).
– A private double data field named radius that specifies the radius of the fan (the default is 5).
– A string data field named color that specifies the color of the fan (the default is blue).
– The accessor and mutator methods for all four data fields.
– A parameterized constructor initializes the fan objects to given values.
– A method named toString() that returns a string description for the fan. If the fan is on, the method returns the fan speed, color, and radius in one combined string. If the fan is not on, the method returns the fan color and radius along with the string “fan is off” in one combined string. Draw the UML diagram for the class and then implement the class. Write a test program that creates two Fan objects . Assign maximum speed, radius 10, color yellow, and turn it on to the first object. Assign medium speed, radius 5, color blue, and turn it off to the second object. Display the objects by invoking their toString method.

SOLUTION:


public class Fan{
    public static final int SLOW=1,MEDIUM=2,FAST=3;
    int speed;
    boolean f_on;
    double radius;
    String color;
    
    Fan(){
        speed=SLOW;
        f_on = false;
        radius = 5;
        color = "blue";
    }
    
    Fan(int speed,double radius,String color,boolean f_on){
        this.speed=speed;
        this.radius=radius;
        this.color=color;
        this.f_on=f_on;
    }

    public void turnOff(){
        if(f_on){
            f_on=false;
            System.out.println("Turned off!");
        } else {
            System.out.println("Fan is already off!");
        }
    }

    public void setSpeed(int Speed){
        speed=Speed;
        System.out.println("Set speed as "+speed);
    }

    public void turnOn(){
        if(!f_on){
            f_on=true;
            System.out.println("Turned on!");
        } else {
            System.out.println("Fan is already running!");
        }
    }

    public void display(){
        if(f_on){
            System.out.println("Fan is on\nThe speed is="+speed+"\nthe color is ="+color);
        } else {
            System.out.println("Fan is off!");
        }
    }

    public static void main(String[] args){
        Fan fan=new Fan();
        fan.display();
        fan.turnOn();
        fan.turnOff();
        fan.turnOff();
        fan.setSpeed(SLOW);
    }
}

Add comment