7-1 设计一个风扇Fan类

简介: 7-1 设计一个风扇Fan类

这一节开始记录自己的pta 做题笔记

后续会整理成不同的系列 (按模块)有兴趣的小伙伴可以看我主页 哦


7-1 设计一个风扇Fan类


分数 10

作者 殷伟凤

单位 浙江传媒学院


设计一个名为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;
public class Main {
    public static void main(String[] args) {
        
        Fan fan1 = new Fan();
       Scanner input = new Scanner(System.in);
        int speed = input.nextInt();
        boolean on = input.nextBoolean();
        double radius = input.nextDouble();
        String color = input.next();
        Fan fan2 = new Fan(speed, on, radius, color);
 
        System.out.println("-------\nDefault\n-------");
        System.out.println(fan1.toString());
 
        System.out.println("-------\nMy Fan\n-------");
        System.out.println(fan2.toString());
    }
}
 
class Fan {
    private final int SLOW = 1;
    private final int MEDIUM = 2;
    private final int FAST = 3;
 
    private int speed;
    private boolean on;
    private double radius;
    private String color;
 
    public Fan() {
        speed = SLOW;
        on = false;
        radius = 5.0;
        color = "white";
    }
 
    public Fan(int fanSpeed, boolean fanOn, double fanRadius, String fanColor) {
        speed = fanSpeed;
        on = fanOn;
        radius = fanRadius;
        color = fanColor;
    }
 
    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 "speed " + speed + "\ncolor " + color + "\nradius " + radius + "\nfan is on";
        } else {
            return "speed " + speed + "\ncolor " + color + "\nradius " + radius + "\nfan is off";
        }
    }
}
相关文章
|
2月前
|
芯片
电容在ESD测试中的选用方法
电容在ESD测试中的选用方法
31 2
|
5月前
|
数据建模 C++ 芯片
栅极驱动 IC 自举电路的设计与应用指南
硬件工程师应该都用过buck,一些buck芯片会有类似下面的自举电容,有时还会串联一个电阻。 那么你是否对这个自举电路有深入的了解呢?比如,这个电容的容值大小该怎么选?大了或者小了会影响什么?耐压要求是怎么样的? 最近呢,正好看到ON Semiconductor的一个文档AN-6076,对于自举电路讲得相当的详细了,想深入了解的兄弟可以自己的仔细的读读,源文档可以自己去网上搜,也可以去我的网盘下载(文末会提供下载链接)。 1. 介绍 本文讲述了一种运用功率型MOSFET和IGBT设计高性能自举式栅极驱动电路的系统方法,适用于高频率,大功率及高效率的开关应用场合。不同经验的电力电子工程师
75 2
|
4月前
|
Linux SoC
关于S3学习所涉及到的知识(三):Generic PM之Suspend功能&&Gicv3电源/功耗管理
关于S3学习所涉及到的知识(三):Generic PM之Suspend功能&&Gicv3电源/功耗管理
41 0
|
6月前
BOSHIDA DC电源模块外壳材质对模块的影响
DC电源模块外壳材质对模块的影响可能是多方面的,以下列举几点可能的影响:
BOSHIDA DC电源模块外壳材质对模块的影响
|
6月前
BOSHIDA DC电源模块外壳材质对模块的影响有多少
DC电源模块是一种常见的电子元件,被广泛应用于电子设备、通讯、计算机、医疗器械、制造业等领域,它的外壳材质对电源模块的性能和稳定性有直接的影响。本文将就DC电源模块外壳材质的不同对模块的影响作一简要介绍。
BOSHIDA DC电源模块外壳材质对模块的影响有多少
|
3天前
|
算法 异构计算
m基于FPGA的MPPT最大功率跟踪算法verilog实现,包含testbench
该内容包括三部分:1) 展示了Vivado 2019.2和Matlab中关于某种算法的仿真结果图像,可能与太阳能光伏系统的最大功率点跟踪(MPPT)相关。2) 简述了MPPT中的爬山法原理,通过调整光伏电池工作点以找到最大功率输出。3) 提供了一个Verilog程序模块`MPPT_test_tops`,用于测试MPPT算法,其中包含`UI_test`和`MPPT_module_U`两个子模块,处理光伏电流和电压信号。
7 1
|
存储 传感器 定位技术
【NI Multisim 14.0原理图设计基础——元器件分类】
一、元器件分类 NI Multisim 14.0不仅提供了数量众多的元器件符号图形,而且还设计了元器件的模型,并分门类地存储在各个元器件库中。下面按照元器件库的命名不同详细介绍常用的元器件。 1.电源库 单击“元器件”工具栏中的“放置源” 按钮,Sources 库的“系列”栏包括以下几种,如图所示: 电源(POWER-SOURCES):包括常用的交直流电源、数字地、地线、星形或三角形连接的三相电源、VCC、VDD、VEE、VSS 电压源,其元器件”栏下内容如图所示: 电压信号源(SIGNAL-VOLTAG…):包括交流电压、时钟电压、脉冲电压、指数电压、FM、AM等多种形式的电压信号,其“元器
1474 0
【NI Multisim 14.0原理图设计基础——元器件分类】
|
4月前
【Simulink】电池双向DC/DC+PI+无差拍直流母线稳压
【Simulink】电池双向DC/DC+PI+无差拍直流母线稳压
|
4月前
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Stateflow)
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Stateflow)
|
10月前
BOSHIDA DC电源模块是否有特定的模块尺寸或外壳要求
BOSHIDA DC电源模块广泛应用于各种电子设备中,如计算机、电视、音响、通讯设备,甚至是家用电器等等,因为它们具有高效、可靠、便捷等优点。这些DC电源模块有着不同的尺寸和外壳,以满足不同的应用需求。本文将介绍DC电源模块的尺寸和外壳要求。
BOSHIDA DC电源模块是否有特定的模块尺寸或外壳要求