7-14 设计一个风扇Fan类 (20 分)
设计一个名为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 分)相关推荐
- 设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法
设计一个抽象类图形类,在该类中包含有至少两个抽象方法求周长和求面积,分别定义圆形类.长方形类.正方形类.三角形类来继承图形类,并实现上述两个方法 设计抽象类 就要使用abstract关键字,抽象类中的 ...
- 1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试。要求有构造函数、析造函数和复制构造函数。
1.设计一个长方形的类,成员变量有长与宽,成员函数有求周长与面积,然后进行测试.要求有构造函数.析造函数和复制构造函数. 代码比较简单,论坛有坛友问,顺手写一下当复习 #include <bit ...
- python定义一个圆类_python设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性。编写构造方法和其他方法,计算周长和面积。...
** Python:设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性.编写构造方法和其他方法,计算周长和面积.请编写程序验证类的功能. class Circle: def -init-( ...
- 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码、地址、最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数。 要求: (1)类
先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码.地址.最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数. 要求: (1)类中的成员函数具有输入.输出 ...
- python设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性。编写构造方法和其他方法,计算周长和面积。
** Python:设计一个Circle(圆)类,包括圆心位置`,半径,颜色等属性.编写构造方法和其他方法,计算周长和面积.请编写程序验证类的功能. class Circle: def -init-( ...
- 为什么写了value属性 jq赋值value值不显示_为什么 String 要设计成 final,又如何设计一个不可变类呢?...
前面聊了聊面试必考 String 的坑,具体可以细看<你真的懂 Java 的 String 吗?>,也留下了一个疑问,为什么 String 要被设计成 final 呢?其实,如果你读的认真 ...
- 设计一个长方形的类,成员的变量有长与宽,成员函数要求周长与面积,然后进行测试。
设计一个长方形的类,成员的变量有长与宽,成员函数要求周长与面积,然后进行测试. #include using namespace std; class cfx { private: float len ...
- c++_设计一个 Studnet(学生)类
设计一个 Studnet(学生)类 1.基本信息:学号.姓名.性别.出生日期.年级.班级.院系.专业: 其中:基本信息为 private 属性,成员函数为 public 属性: 2.Student 类 ...
- 设计一个圆形的类即Circle类。
题目内容: 设计一个圆形的类即Circle类,具体要求如下: (1) 创建一个圆形的类,即Circle类,添加radius一个成员变量(数据类型为double ),表示圆形的半径: (2) 定义一个有 ...
- 7-3 三维向量运算设计一个三维向量类,实现向量加法、减法以及向量与标量的乘法和除法运算。
7-3 三维向量运算 设计一个三维向量类,实现向量加法.减法以及向量与标量的乘法和除法运算.后面添加下面代码完成: 天杀的出题人,非得放个图片在这,放个代码块会死吗? 运行的时候,要把这张图片里的内容 ...
最新文章
- 详解vue 路由跳转四种方式 (带参数)
- python对象不接受参数什么意思___new\=TypeError:object()不接受参数
- springMVC get请求及其请求地址写法
- 在linux下玩转usb摄像头
- JAVA程序测试时用到的与内存测试有关的东西
- spotify歌曲下载_使用Spotify数据预测哪些“ Novidades da semana”歌曲会成为热门歌曲
- Oracle行转列语法总结大全
- Java实现动态加载页面_[Java教程]动态加载页面数据的小工具 javascript + jQuery (持续更新)...
- java数据加密解密代码_java使用RSA加密方式实现数据加密解密的代码
- 邮件服务 php,PHP基础-邮件服务
- python爬虫学习(1)爬取微软必应翻译(中英互译)
- 酒店订房管理系统php,酒店预定管理系统(源码+数据库+文档)
- 创建微信公众号测试号
- 云计算与大数据” 研讨会:迎来新的科学价值
- 纪一次笔试之行—燃烧的远征
- java打好基础的100道题库(勇敢牛牛不怕困难)
- 三菱IO模块QH42P使用方法
- 错误解决:Problem binding to [0.0.0.0:10033] java.net.BindException
- Cobar的架构与实践
- android立体3D效果_PS教程:铝膜气球字制作的完整教程,3D立体效果字体的制作...
热门文章
- 6.2.1邻接矩阵法
- 为什么4G、5G又称为蜂窝网络?跟蜂窝有什么关系?
- linux riot密码,拳头账号密码忘了怎么办?riot账号怎么找回密码修改密码
- 一本通 3.1 例 1」黑暗城堡
- MongoDB 主从复制(Master-Slaver)实验
- 《后端成长路线》系列 导航篇
- 「短篇小说」灵囚 540 天
- java8 lamda throw_【修炼内功】[Java8] Lambda表达式里的陷阱
- 服务器设置temp文件夹权限,服务器windows temp 权限设置
- Ouroboros:A Provably Secure Proof-of-Stake Blockchain Protocol 学习总结