Java程序设计,设计fan类模拟风扇

设计一个名为Fan的类模拟风扇,属性为speed、on、radius和color。假设风扇有3种固定的速度,用常数1、2、3表示慢、中、快速。写一个用户程序,程序中创建一个Fan对象,具有最大速度、半径为10、黄色、打开状态的属性。要求返回包含类中所有属性值的字符串。


public class Fan {
    static final int SLOW = 1;//三个名为SLOW,MEDIUM,FAST而值为1,2,3的常量,表示风扇的速度。
    static final int MEDIUM = 2;
    static final int FAST = 3;
    private int speed = SLOW;//一个名为speed的int类型私有数据域,表示风扇的速度(默认值是SLOW)
    private boolean on = false;//一个名为on的boolean类型私有数据域,表示风扇是否打开(默认值是false)
    private double radius = 5;//一个名为radius的double类型私有数据域,表示风扇的半径(默认值是5)
    String color = "blue";//一个名为color的string类型数据域,表示风扇的颜色(默认值是blue)

    public Fan() {//构造方法

    }

    public int getSpeed() {//访问器方法,返回速度

        return speed;
    }

    public void setSpeed(int speed) {//修改器方法,修改速度
        if (on)
        this.speed = speed;

    }

    public boolean getOn() {//访问器方法,返回风扇是否打开的状态
        return on;
    }

    public void setOn(boolean on) {//修改器方法,打开风扇
        this.on = on;
    }

    public double getRadius() {//访问器方法返回风扇半径
        return radius;
    }

    public void setRadius(double radius) {//修改器方法修改风扇半径
        if (on)
        this.radius = radius;
    }

    public String getColor() {//访问器方法返回风扇的颜色
        return color;
    }

    public void setColor(String color) {//修改器方法修改风扇的颜色
        if (on)
        this.color = color;
    }

    public String toString() {//toString方法返回描述风扇的字符串
        if (on ) {//如果风扇打开,该方法在一个字符串中返回风扇的速度,颜色,半径
            return speed + " " + color + " " + radius;
        } else//如果风扇关闭,该方法就会返回一个有“fan is off”和风扇颜色及半径组成的字符串
            return "fan is off" +" " +color + " "+radius;
    }

}

public class Test {
    public static void main(String[] args) {
        Fan fan = new Fan();//创建两个Fan对象
        Fan fan1 = new Fan();

        fan.setOn(true);
        fan.setSpeed(Fan.FAST);//将第一个对象设置成最大速度,半径为10,颜色为yellow,状态为打开
        fan.setRadius(10);
        fan.setColor("yellow");


        System.out.println(fan.toString());

        fan1.setOn(false);
        fan1.setSpeed(Fan.MEDIUM);//将第二个对象设置成中等速度,半径为5,颜色8,状态为关闭
        fan1.setRadius(8);
        fan1.setColor("red");


        System.out.println(fan1.toString());//调用toString方法显示这些对象
    }
}"D:\java 12.0\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\lib\idea_rt.jar=58544:C:\Program Files\JetBrains\IntelliJ IDEA 2019.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\26601\Desktop\library_management_sys-master\untitled2\out\production\设计一个名为Fan的类来表示风扇 Test
3 yellow 10.0
fan is off blue 5.0

Process finished with exit code 0