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

1.三个名为SlOW、MEDIUM和FAST,其值为1、2和3常量表示风扇的速度。

2.一个名为speed的int类型私有数据域表示风扇的速度(默认值为SLOW)。

3.一个名为on的boolean类型私有数据域表示风扇是否打开(默认值为false)。

4.一个名为radius的double类型私有数据域表示风扇的半径(默认值为5)。

5.一个名为color的string类型数据域表示风扇的颜色(默认值为white)。

6.这四个成员变量(数据域)的访问器和修改器。

7.一个无参构造方法;

8.一个有参构造方法 public Fan(int fanSpeed,boolean fanOn,double fanRadius,String fanColor) { ... },

9.一个名为toString()的方法返回描述风扇的字符串。如果风扇是打开的,那么该方法在一个组合的字符串中返回风扇的速度、颜色和半径。如果风扇没有打开,该方法就会返回一个由"fan is off"和风扇颜色以及半径组合成的字符串。

请在自己的草稿本上画出UML图,养成良好的设计习惯。

要求:创建两个Fan对象:

第一个对象利用无参构造方法构造默认风扇对象Fan1;

第二个对象依据输入的风扇属性,调用有参构造方法构造自定义风扇对象Fan2。

通过调用它们的toString方法显示这些对象。

输入格式:

第二个对象的属性

输出格式:

分别输出默认风扇和自定义风扇的速度、颜色、半径以及风扇是否打开

输入样例:

在这里给出一组输入。例如:

2
True
6
Red 

结尾无空行

输出样例:

在这里给出相应的输出。例如:

-------
Default
-------
speed 1
color white
radius 5.0
fan is off
-------
My Fan
-------
speed 2
color Red
radius 6.0
fan is on

import java.util.Scanner;

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="white";

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;
    }

public Fan() {
    }

public Fan(int speed, boolean on, double radius, String color) {
        this.speed = speed;
        this.on = on;
        this.radius = radius;
        this.color = color;
    }

@Override
    public String toString() {
        String s="speed "+speed+"\n";
        s+="color "+this.getColor()+"\n";
        s+="radius "+radius+"\n";
        if(on==false) {
            s+="fan is off";
        }else {
            s+="fan is on";
        }

return s;
    }
}
class Main{
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        System.out.println("-------\n"
                + "Default\n"
                + "-------");
        Fan f1=new Fan();
        Fan f2=new Fan(s.nextInt(),s.nextBoolean(),s.nextDouble(),s.next());
        System.out.println(f1.toString());
        System.out.println("-------\n"
                + "My Fan\n"
                + "-------");
        System.out.println(f2.toString());
    }
}

7-14 设计一个风扇Fan类 (20 分)相关推荐

  1. 设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法

    设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类.长方形类.正方形类.三角形类来继承图形类,并实现上述两个方法 设计抽象类 就要使用abstract关键字,抽象类中的 ...

  2. 1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试。要求有构造函数、析造函数和复制构造函数。

    1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试.要求有构造函数.析造函数和复制构造函数. 代码比较简单,论坛有坛友问,顺手写一下当复习 #include <bit ...

  3. python定义一个圆类_python设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性。编写构造方法和其他方法,计算周长和面积。...

    ** Python:设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性.编写构造方法和其他方法,计算周长和面积.请编写程序验证类的功能. class Circle: def -init-( ...

  4. 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码、地址、最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数。 要求: (1)类

    先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码.地址.最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数. 要求: (1)类中的成员函数具有输入.输出 ...

  5. python设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性。编写构造方法和其他方法,计算周长和面积。

    ** Python:设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性.编写构造方法和其他方法,计算周长和面积.请编写程序验证类的功能. class Circle: def -init-( ...

  6. 为什么写了value属性 jq赋值value值不显示_为什么 String 要设计成 final,又如何设计一个不可变类呢?...

    前面聊了聊面试必考 String 的坑,具体可以细看<你真的懂 Java 的 String 吗?>,也留下了一个疑问,为什么 String 要被设计成 final 呢?其实,如果你读的认真 ...

  7. 设计一个长方形的类,成员的变量有长与宽,成员函数要求周长与面积,然后进行测试。

    设计一个长方形的类,成员的变量有长与宽,成员函数要求周长与面积,然后进行测试. #include using namespace std; class cfx { private: float len ...

  8. c++_设计一个 Studnet(学生)类

    设计一个 Studnet(学生)类 1.基本信息:学号.姓名.性别.出生日期.年级.班级.院系.专业: 其中:基本信息为 private 属性,成员函数为 public 属性: 2.Student 类 ...

  9. 设计一个圆形的类即Circle类。

    题目内容: 设计一个圆形的类即Circle类,具体要求如下: (1) 创建一个圆形的类,即Circle类,添加radius一个成员变量(数据类型为double ),表示圆形的半径: (2) 定义一个有 ...

  10. 7-3 三维向量运算设计一个三维向量类,实现向量加法、减法以及向量与标量的乘法和除法运算。

    7-3 三维向量运算 设计一个三维向量类,实现向量加法.减法以及向量与标量的乘法和除法运算.后面添加下面代码完成: 天杀的出题人,非得放个图片在这,放个代码块会死吗? 运行的时候,要把这张图片里的内容 ...

最新文章

  1. 详解vue 路由跳转四种方式 (带参数)
  2. python对象不接受参数什么意思___new\=TypeError:object()不接受参数
  3. springMVC get请求及其请求地址写法
  4. 在linux下玩转usb摄像头
  5. JAVA程序测试时用到的与内存测试有关的东西
  6. spotify歌曲下载_使用Spotify数据预测哪些“ Novidades da semana”歌曲会成为热门歌曲
  7. Oracle行转列语法总结大全
  8. Java实现动态加载页面_[Java教程]动态加载页面数据的小工具 javascript + jQuery (持续更新)...
  9. java数据加密解密代码_java使用RSA加密方式实现数据加密解密的代码
  10. 邮件服务 php,PHP基础-邮件服务
  11. python爬虫学习(1)爬取微软必应翻译(中英互译)
  12. 酒店订房管理系统php,酒店预定管理系统(源码+数据库+文档)
  13. 创建微信公众号测试号
  14. 云计算与大数据” 研讨会:迎来新的科学价值
  15. 纪一次笔试之行—燃烧的远征
  16. java打好基础的100道题库(勇敢牛牛不怕困难)
  17. 三菱IO模块QH42P使用方法
  18. 错误解决:Problem binding to [0.0.0.0:10033] java.net.BindException
  19. Cobar的架构与实践
  20. android立体3D效果_PS教程:铝膜气球字制作的完整教程,3D立体效果字体的制作...

热门文章

  1. 6.2.1邻接矩阵法
  2. 为什么4G、5G又称为蜂窝网络?跟蜂窝有什么关系?
  3. linux riot密码,拳头账号密码忘了怎么办?riot账号怎么找回密码修改密码
  4. 一本通 3.1 例 1」黑暗城堡
  5. MongoDB 主从复制(Master-Slaver)实验
  6. 《后端成长路线》系列 导航篇
  7. 「短篇小说」灵囚 540 天
  8. java8 lamda throw_【修炼内功】[Java8] Lambda表达式里的陷阱
  9. 服务器设置temp文件夹权限,服务器windows temp 权限设置
  10. Ouroboros:A Provably Secure Proof-of-Stake Blockchain Protocol 学习总结