一个小小的操作空调程序

来源:互联网 发布:淘宝店铺页面怎么设计 编辑:程序博客网 时间:2024/04/28 09:27
package com.wu.control;
/**
 * .设计一个空调遥控器
 要求 :
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和所有语言一样要不停的去练习,不停的去思考,思想决定程序的好坏与繁琐,只要思路打通了,操作起来才会得心应手。

1 0
原创粉丝点击