/**
* .设计一个空调遥控器
要求 :
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和所有语言一样要不停的去练习,不停的去思考,思想决定程序的好坏与繁琐,只要思路打通了,操作起来才会得心应手。