一个小小的操作空调程序
来源:互联网 发布:淘宝店铺页面怎么设计 编辑:程序博客网 时间:2024/04/28 09:27
/**
* .设计一个空调遥控器
要求 :
1 两个属性 : 温度 和 开关
2 5个方法 开机 关机 升温 降温 显示温度
3 从控制台获得用户的输入值:(必须是1-5)
1 开机 2 关机 3 升温 4 降温 5 显示
A . 首先要判断空调的状态,是否开机,如果是关机,则不能进行升温,降温等操作。
B 根据用户输入的值调用相应的方法。
C 当用户输入 2 的时候关机,退出程序。
注:给定空调的默认温度为25度。
* @author 代昌波
*
*/
public class yaokongqi {
private double temperature;
private boolean flag=false;
/**
* 无惨构造方法
*/
public yaokongqi(){
temperature=25;
}
/**
* 带参的构造方法
*/
public yaokongqi(double temperature){
this.temperature=temperature;
}
public double getTemperature() {
return temperature;
}
public void setTemperature(double temperature) {
this.temperature = temperature;
}
public boolean isFlag() {
return flag;
}
public void setFlag(boolean flag) {
this.flag = flag;
}
public void start(){
System.out.println("-----空调打开--------");
flag=true;
}
public void close(){
System.out.println("------空调关闭--------");
flag=false;
}
public void heatingUp(double temperature){
flag=true;
this.temperature+=temperature;
System.out.println("现在温度:"+this.temperature);
}
public void cooling(double temperature){
flag=true;
this.temperature-=temperature;
System.out.println("现在温度="+this.temperature);
}
public double show(){
flag=true;
return this.temperature;
}
}
---------------------------------------------------------------------------
package com.wu.control;
import java.util.Scanner;
/**
* 定义遥控器类
* 从控制台获得用户的输入值:(必须是1-5)
1 开机 2 关机 3 升温 4 降温 5 显示
A . 首先要判断空调的状态,是否开机,如果是关机,则不能进行升温,降温等操作。
B 根据用户输入的值调用相应的方法。
C 当用户输入 2 的时候关机,退出程序。
* @author 代昌波
* @version 1.0
*
*/
public class Controller {
yaokongqi yq=null;
Scanner input=null;
/**
* 无惨的构造函数对遥控器对象成员实例化
* @return
*/
public Controller(){
yq=new yaokongqi();
input=new Scanner(System.in);
}
public yaokongqi getyaokongqi(){
return yq;
}
public void setyaokongqi(yaokongqi yq){
this.yq=yq;
}
/**
* 发送开机信号
*/
public void startSignal(){
yq.start();
}
/**
* 发送关机信号
*/
public void closeSignal(){
yq.close();
}
/**
* 发送升温信号
*/
public void heatingUpSingal(){
System.out.println("升温几度:");
double temperature=input.nextDouble();
yq.heatingUp(temperature);
}
/**
* 发送降温信号
*/
public void coldDownSingal(){
System.out.println("降温几度:");
double temperature=input.nextDouble();
yq.cooling(temperature);
}
/**
* 发出显示空调当前的温度信号
* 是空调把温度传给遥控器,遥控器来显示
*/
public void receiveSignal(){
double temperature=yq.show();
System.out.println("当前温度:"+temperature);
}
}
---------------------------------------------------------------------------
package com.wu.control;
/**
* 编写人类
* @author 代昌波
*
*/
public class Person {
private Controller controller=null;
/**
* 无惨构造方法,对遥控器对象成员进行实例化
*/
Person(){
controller=new Controller();
}
public Controller getController(){
return controller;
}
public void setController(Controller controller){
this.controller=controller;
}
/**
* 人类操作遥控器
* @param selectNum
* 选择按钮
*/
public void operator(int selectNum){
switch(selectNum)
{
case 1:
//遥控器发出开机信号,接收遥控器返回的信号
{controller.startSignal();
controller.receiveSignal();
break;}
case 2:
{
// 遥控器发出关机信号,接收遥控器返回的信号controller.closeSignal();
controller.closeSignal();//打印关机界面
Menu.endMenu();
if(!controller.getyaokongqi().isFlag()){
System.exit(0);
// 退出整个系统
}
break;
}
case 3:
{// 遥控器发出升温信号,接收遥控器返回的信号
controller.heatingUpSingal();
controller.receiveSignal();
break;}
case 4:
{// 遥控器发出降温信号,接收遥控器返回的信号
controller.coldDownSingal();
controller.receiveSignal();
break;
}
case 5:
{// 遥控器发出降温信号,接收遥控器返回的信号
controller.receiveSignal();
break;
}
default:
System.out.println("退出");
}
}
}
------------------------------------------------------------------------
package com.wu.control;
import java.util.Scanner;
/**
* 空调界面
* @author 代昌波
*@version 1.0
*/
public class Menu {
static Scanner input=new Scanner(System.in);
/**
* 遥控器开机界面
* @return
*/
public static int StartEndMenu(){
System.out.println("----欢迎使用-----");
System.out.println("1:开机"+"2:关机");
System.out.println("请选择:");
return Integer.parseInt(input.next());
}
/**
* 遥控器主界面
* @param args
*/
public static int mainMenu(){
System.out.println("----欢迎使用-----");
System.out.println("\t\t\t\t1.开机\t\t2.关机\n\t\t\t\t3.升温\t\t4.降温\n\t\t\t\t5.显示温度\t\t");
System.out.println("请选择:");
return Integer.parseInt(input.next());
}
/**
* 关机界面
*/
public static void endMenu(){
System.out.println("----谢谢使用-----");
}
}
--------------------------------------------------------------------
package com.wu.control;
/**
* 测试类
* @author 代昌波
* @version 1.0
*
*/
public class Test {
static int selectNum;//静态成员变量
/**
* 程序的入口函数
* @param args
*/
public static void main(String[] args) {
//实例化人类对象的时候实例化遥控器对象
Person person =new Person();
// 死循环
for(int i=1;;i++){
if(i==1){
//空调操作界面
selectNum=Menu.mainMenu();
}
else
{
// 开机成功进入主界面
selectNum = Menu.mainMenu();
}
// 遥控器是人类中的一个对象成员,即人去操作遥控器
person.operator(selectNum);
}
}
}
java和所有语言一样要不停的去练习,不停的去思考,思想决定程序的好坏与繁琐,只要思路打通了,操作起来才会得心应手。
- 一个小小的操作空调程序
- 一个小小的杀毒程序
- 一个小小的vb程序
- 一个小小的消息发布程序
- 一个小小的文本行信息管理程序
- java 写的一个关机小小程序
- 一个关于生命游戏的小小程序
- selenium2java写一个小小的爬虫程序
- JavaScript操作cookie的一个小小失误
- 一个小小小 程序!
- 做一个小小的记录工作时间的小程序
- 定时刷新视图,写的一个小小的程序,一年前
- 一个简单的两数求和程序的小小改动
- 一个用来处理手机通讯录乱码的小小小小python程序
- 一个小小的托盘程序(定时关机)
- 一个小小的apple程序,终于会写了.
- 一个小小的程序,你能看懂吗?
- android 桌面程序 滑动抽屉 SlidingDraw,一个小小的demo
- 哈夫曼树详解
- 《算法导论》第18章 B树
- 网页MP4播放器代码
- 双拖动条自定义seekbar(带浮动textView)
- HDU-1596 find the safest road(最短路[Dijkstra])
- 一个小小的操作空调程序
- Android程序:IDE Eclipse主题样式和提示设置
- BAPC2014 E&&HUNNU11585:Excellent Engineers(线段树)
- POJ 题目分类
- passwd命令
- 菜鸟第三天:Linux根文件系统详解
- Leetcode65 Plus One
- Poj 1651 Multiplication Puzzle
- 工厂方法模式,抽象工厂模式