设计一个名为Fan的类来代表风扇。这个类包括三个常量SLOW,MEDIUM和FAST,其值分别为1,2,3,表示风扇的速度

简介: 设计一个名为Fan的类来代表风扇。这个类包括三个常量SLOW,MEDIUM和FAST,其值分别为1,2,3,表示风扇的速度

题目描述:

设计一个名为Fan的类来代表风扇。这个类包括:

1 三个常量SLOW,MEDIUM和FAST,其值分别为1,2,3,表示风扇的速度;

2 int类型的数据域speed表示风扇的速度;默认值为SLOW

3 boolean型的数据域on表示风扇是否打开;默认值为false

4 double型的数据域radius表示风扇的半径;默认值为5

5 string型的数据域color表示风扇的颜色;默认值为blue

6 无参构造方法创建默认风扇;

7 全部四个数据域的访问器和修改器;

9 toString()方法返回描述风扇的字符串。如果风扇打开,该方法用一个组合的字符串返回风扇的速度,颜色和半径;否则,用一个组合的字符串和“fan is off”一起返回风扇的颜色和半径。

画出该类的UML图并实现它。编写一个测试程序,创建两个Fan对象,将第一个对象设置为最大速度,半径为10,颜色为yellow,打开状态;第二个对象为中等速度,半径为5,颜色blue,关闭状态。通过调用toString方法显示该对象。

代码:

/**
 *作者:魏宝航
 *2020年11月27日,下午10:41
 */
package 测试;
import java.util.*;
public class Test{
  public static void main(String[] args) {
    Fan fan1=new Fan();
    Fan fan2=new Fan();
    fan1.setSpeed(Fan.FAST);
    fan1.setRadius(10);
    fan1.setColor("yellow");
    fan1.setOn(true);
    fan2.setSpeed(Fan.MEDIUM);
    fan2.setRadius(5);
    fan2.setColor("blue");
    fan2.setOn(false);
    System.out.println(fan1.toString());
    System.out.println(fan2.toString());
  }
}
class Fan{
  static final int SLOW=1;
  static final int MEDIUM=2;
  static final int FAST=3;
  private int speed=SLOW;
  private boolean on=false;
  private double radius=5;
  private String color="blue";
  public Fan() {}
  public int getSpeed() {
    return speed;
  }
  public void setSpeed(int speed) {
    this.speed = speed;
  }
  public boolean isOn() {
    return on;
  }
  public void setOn(boolean on) {
    this.on = on;
  }
  public double getRadius() {
    return radius;
  }
  public void setRadius(double radius) {
    this.radius = radius;
  }
  public String getColor() {
    return color;
  }
  public void setColor(String color) {
    this.color = color;
  }
  @Override
  public String toString() {
    if(!on) {
      return "fan is off";
    }
    return "风扇的速度:"+speed+"\n颜色:"+color+"\n半径:"+radius;
  }
}


目录
相关文章
|
机器学习/深度学习 存储 算法
如何将 Transformer 应用于时间序列模型
如何将 Transformer 应用于时间序列模型
|
测试技术 Android开发
autojs动态修改图片src
牙叔教程 简单易懂
1201 0
|
移动开发 小程序
关于微信公众号插入外部链接
关于微信公众号插入外部链接
1748 0
关于微信公众号插入外部链接
|
芯片
计算机组成原理实验二 存储器实验(上)
计算机组成原理实验二 存储器实验
1321 0
|
Ubuntu 网络协议 Linux
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
【附安装包】CentOS7(Linux)详细安装教程(手把手图文详解版)
5061 2
|
10月前
|
存储 算法 C语言
【C语言】深入浅出:C语言链表的全面解析
链表是一种重要的基础数据结构,适用于频繁的插入和删除操作。通过本篇详细讲解了单链表、双向链表和循环链表的概念和实现,以及各类常用操作的示例代码。掌握链表的使用对于理解更复杂的数据结构和算法具有重要意义。
3142 6
|
缓存 Linux 网络安全
解决 CentOS 7 官方 yum 仓库无法使用的最佳实践
【8月更文挑战第18天】若 CentOS 7 的官方 YUM 仓库无法使用,可按以下步骤解决: 1. **检查网络连接**: - 确认服务器能正常上网,可通过访问外部网站或网络诊断测试。 - 检查防火墙设置,避免其阻挡 YUM 的网络访问。 2. **检查 YUM 配置**: - 核实 `/etc/yum.repos.d/` 下的 `CentOS-Base.repo` 文件中仓库地址正确无误。 - 确认配置文件内的 `enabled` 选项设为 `1` 以启用仓库。
4392 0
|
存储 安全 Java
Java详解 : 单列集合 | 双列集合 | Collections类
Java详解 : 单列集合 | 双列集合 | Collections类
304 0
|
Kubernetes Ubuntu Linux
手把手教你如何安装Ubuntu
手把手教你如何安装Ubuntu
3055 1
|
测试技术 API 开发工具
📑教你如何编写一份 API 文档
API 文档是开发者理解和使用API的关键,它提供详细的说明、代码示例和调用过程,帮助创建无缝集成。好的API文档能提升开发人员体验,减少上手时间和维护成本,同时促进产品迭代。API有面向团队、合作伙伴和最终用户三种类型。编写文档时要考虑受众,提供清晰的概述、教程、认证信息、端点定义、状态码和错误码示例。维护更新与API同步的文档至关重要,遵循通俗语言、参考文档、示例和专人负责等最佳实践,确保全面性。GitHub、Twilio和Dropbox的API文档是良好示例。