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";
        }
    }
}
相关文章
|
人工智能 异构计算
FPGA(7)--有限状态机--交通灯
FPGA(7)--有限状态机--交通灯
217 0
FPGA(7)--有限状态机--交通灯
|
9月前
|
数据建模 C++ 芯片
栅极驱动 IC 自举电路的设计与应用指南
硬件工程师应该都用过buck,一些buck芯片会有类似下面的自举电容,有时还会串联一个电阻。 那么你是否对这个自举电路有深入的了解呢?比如,这个电容的容值大小该怎么选?大了或者小了会影响什么?耐压要求是怎么样的? 最近呢,正好看到ON Semiconductor的一个文档AN-6076,对于自举电路讲得相当的详细了,想深入了解的兄弟可以自己的仔细的读读,源文档可以自己去网上搜,也可以去我的网盘下载(文末会提供下载链接)。 1. 介绍 本文讲述了一种运用功率型MOSFET和IGBT设计高性能自举式栅极驱动电路的系统方法,适用于高频率,大功率及高效率的开关应用场合。不同经验的电力电子工程师
178 2
|
6月前
|
编解码 前端开发 芯片
全国产化用于生物电测量的低功耗双通道模拟前端芯片 Low-Power, 2-Channel AFE for Biopotential Measurement
这款低功耗双通道模拟前端芯片专为生物电测量设计,集成两个低噪声放大器与24位高精度ADC,支持125至8k SPS的数据速率及多种增益设置。工作电压2.7至3.3V,内置RLD、断线检测等功能,并具备SPI接口。适用于穿戴式健康监测设备、运动智能装备及医疗仪器,如心电图监测。提供TQFP(32)与VQFN(32)封装选项,尺寸紧凑,满足便携与小型化需求。
|
传感器 算法 UED
用Gen4消除电容触摸屏设计屏障【转】
转自:http://www.cntronics.com/sensor-art/80015498?page=2 中心议题: 电容式触摸屏设计到产品的各种挑战 解决方案: 用Gen4消除电容触摸屏设计屏障 将电容式触摸屏设计到产品并不是一项简单的任务。
1219 0
|
8月前
|
JavaScript 关系型数据库 芯片
LDO电源模块如何快速设计布局
在电子工程中,LDO电源模块设计至关重要。LDO因其低压差、高稳定性被广泛应用。优化设计涉及选择不同类型的LDO,如uP-MOSFET和PNP,考虑效率、成本和输入电压能力。在PCB布局时,LDO应靠近负载,减少压降,且与滤波器保持适当距离以防噪声。布线策略包括避免导线平行耦合,使用宽地线减少电阻和耦合,以及优化拐角和粗细。华秋DFM软件是辅助设计工具,可检查布局、避免电气问题,统计焊点和管理元件,确保设计与BOM一致。
101 0
|
缓存 5G 异构计算
DSP+FPGA评估板 TI TMS320C6657 1.25GHz-DSP原理图
TI公司的TMS320C6655/57是不定点/浮点数字信号处理器(DSP),基于KeyStone多核架构,内核速度高达1.25GHz,集成了各种包括C66x内核,存储器子系统,外设和加速器在内的各种可编程子系统,非常适用于高性能可编程应用,如任务关键型,测试与自动化,医疗影像以及基础设施设备等领域。本文介绍了TMS320C6655/57主要特性,框图以及C6657+XC7Z035评估板XQ6657Z35-EVM主要特性,方框图,DSP部分电路图。
DSP+FPGA评估板 TI TMS320C6657 1.25GHz-DSP原理图
|
9月前
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Stateflow)
【Simulink】基于FCS-MPC的三相并网逆变器电流控制(Stateflow)
|
9月前
|
算法 异构计算
m基于FPGA的MPPT最大功率跟踪算法verilog实现,包含testbench
该内容包括三部分:1) 展示了Vivado 2019.2和Matlab中关于某种算法的仿真结果图像,可能与太阳能光伏系统的最大功率点跟踪(MPPT)相关。2) 简述了MPPT中的爬山法原理,通过调整光伏电池工作点以找到最大功率输出。3) 提供了一个Verilog程序模块`MPPT_test_tops`,用于测试MPPT算法,其中包含`UI_test`和`MPPT_module_U`两个子模块,处理光伏电流和电压信号。
95 1
|
算法
基于simulink的MPPT控制器性能仿真,MPPT使用S函数实现
基于simulink的MPPT控制器性能仿真,MPPT使用S函数实现
189 0
|
算法 前端开发 异构计算
m基于FPGA的AGC自适应增益控制系统verilog实现,包含testbench
m基于FPGA的AGC自适应增益控制系统verilog实现,包含testbench
533 0

热门文章

最新文章