PTA(Java类与对象 方法,方法重载) 7-1 设计一个风扇Fan类

设计一个名为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{int SlOW=1;int MEDIUM=2;int FAST=3;private int speed;private  boolean on;private double radius;String color;Fan(){speed=1;on=false;radius=5;color="white";}public  Fan(int fanSpeed,boolean fanOn,double fanRadius,String fanColor){speed=fanSpeed;on=fanOn;radius=fanRadius;color=fanColor;}public String  toString(){if(on==true) return   "speed "+speed+"\n"+"color "+color+"\n"+"radius "+radius+"\n"+"fan is on";elsereturn "speed "+speed+"\n"+"color "+color+"\n"+"radius "+radius+"\n"+"fan is off";}}
public class Main{public static void main(String args[]){Scanner sc=new Scanner(System.in);int speed2=sc.nextInt();boolean on2=sc.nextBoolean();double radius2=sc.nextDouble();String color2=sc.next();System.out.println("-------");System.out.println("Default");System.out.println("-------");Fan  s1=new Fan();Fan  s2=new Fan(speed2,on2,radius2,color2);System.out.println(s1.toString());System.out.println("-------");System.out.println("My Fan");System.out.println("-------");System.out.println(s2.toString());}
}

PTA(Java类与对象 方法,方法重载) 7-1 设计一个风扇Fan类相关推荐

  1. 八、Java面向对象编程(类、对象、方法、重载、可变参数、作用域、构造器、this本质)

    文章目录 Java面向对象编程(类.对象.方法.重载.可变参数.作用域.构造器.this本质) 一.类与对象 1. 类与对象的引出 2. 使用现有技术解决 3. 现有技术解决的缺点分析 4. 类与对象 ...

  2. String类的对象的方法 格式小结 java 1202

    String类的对象的方法 格式小结 java 1202 定义一个字符串 两种方法可以定义字符串 String 字符串对象 = "内容" String 字符串对象 = new St ...

  3. java猫抓老鼠_用猫抓老鼠的实例理解java中面向对象的编程与类和对象以及方法的概念...

    今天看到马士兵讲的关于面向对象编程的思路,用了一个猫抓老鼠的例子,我觉得这个例子非常形象,于是写在这里,方便学习理解和以后查看 class cat{ //声明一个类–"猫" int ...

  4. 【yoyo】类,对象,方法,属性,事件的定义

    假如我们地球上的所有人是一个类,这个类的名称为People,那么地球上的每一个人就是People类的一个对象,每个人都有"嘴"等属性,也有"骂人"的方法,当然& ...

  5. JAVA中类、对象、方法之间的关联关系

    引言   Java是一门面向对象的程序设计语言,基础语法是由类.对象.方法等共同组成,一个Java程序可以看成是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 定义   类:是一个模板,是 ...

  6. Java_面向对象基础(类、对象、方法和构造函数)

    Java的面向对象基础(类.对象.方法和构造函数) 面向对象的基本概念 面向对象的设计思想 什么是类 什么是对象 类的定义 设计面向对象的例子 步骤一:设计动物这个类 步骤二:创建具体的动物 步骤三: ...

  7. python如何对一个属性或方法进行封装_python 类、对象、方法、属性

    在python中,一个对象的特征也称为属性(attribute).它所具有的行为也称为方法(method) 结论:对象=属性+方法 在python中,把具有相同属性和方法的对象归为一个类(class) ...

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

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

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

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

  10. 【python】设计一个游戏角色类 属性:角色名、血量、魔法、状态 方法:释放技能 被伤害 要求:设计要合理

    # 设计一个游戏角色类 # a. 属性:角色名.血量.魔法.状态 # b. 方法:释放技能 被伤害 # c. 要求:设计要合理 import time class Civillian:name=''b ...

最新文章

  1. windows phone 越狱教程:利用学生帐号解锁并部署软件教程(图文并茂)
  2. CSS3-transition,过渡实例
  3. java的socket读取一行就结束运行了?使用这种方法可以读取多行数据!
  4. IBM Java垃圾回收
  5. [PAT乙级]1038 统计同成绩学生
  6. 二叉树C++ | 实现删除节点_4
  7. 【Kafka】Kafka IllegalArgumentException: Could not find a ‘KafkaClient‘ entry in the JAAS configuratio
  8. webpack的简介---webpack工作笔记001
  9. 腾讯自动驾驶新动作!与现代合作开发无人车系统
  10. 在shell中获取当前机器的ip地址
  11. koa操作mongodb,封装mongdb操作方法
  12. p坚持csma协议 仿真‘_巧家快速推进移民生产安置人口界定和协议签订工作
  13. [翻译]CSS变量让你轻松制作响应式网页
  14. 【Sql查询数据】for 日、月、年
  15. Tableau 10.5 安装教程
  16. 毕业设计 STM32单片机的GPS定位系统 - 物联网
  17. 台式计算机如何取消屏幕密码,电脑锁屏密码图文步骤教程 电脑怎么设置及取消锁屏密码...
  18. 继续:Racket网络编程
  19. [RK3288][Android6.0] 调试笔记 --- 设置中文为默认输入法
  20. 矩阵论笔记(七)——矩阵的微分和积分

热门文章

  1. 当年绑架李嘉诚之子后,张子强与李嘉诚对话的细节
  2. 简单的python爬取淘宝数据
  3. 2022-2027年中国喷涂机器人行业市场调研及未来发展趋势预测报告
  4. 看理想:3万辆交付意味着什么?
  5. 【牛客刷题-SQL大厂面试真题】NO5.某宝店铺分析(电商模式)
  6. 关于第一次深度学习项目的总结
  7. 【E类】Linux视频课程集
  8. vue+elementUI 怎么上传图片至阿里云
  9. 以下7种硬件测试的种类,不知道的赶紧收藏了!
  10. android 测试键值,Android无线测试之—KEYCODE键值对应大全