交通灯管理系统Lamp类
来源:互联网 发布:篆刻工具套装价格淘宝 编辑:程序博客网 时间:2024/06/05 18:25
package com.mth.bean;/* *灯类 枚举 * * 12个灯 * S2N,S2W,E2W,E2S, * N2S,N2E,W2E,W2N, * S2E,E2N,N2W,W2S; * * * * */public enum Lamp {S2N("N2S", "S2W", false), S2W("N2E", "E2W", false), E2W("W2E", "E2S", false), E2S("W2N", "S2N", false), N2S(null, null, false), N2E(null, null, false), W2E(null, null, false), W2N(null, null, false), S2E(null, null, true), E2N(null, null, true), N2W(null, null, true), W2S(null, null, true);// 全部是右转的灯// 常绿private boolean lighted; // 灯是否是亮的private String opposite; // 对应的灯也是Lamp类型private String next;// 下一个灯// 有参构造第一个参数 是对应的灯 第二个参数是下一个灯 第三个参数是是否是亮的private Lamp(String opposite, String next, boolean lighted) {this.opposite = opposite;this.next = next;this.lighted = lighted;}public boolean isLighted() {// 提供一个方法 看这个灯的状态return lighted;}// 灯变绿的时候把对应的灯也变绿public void light() {this.lighted = true;if (opposite != null) {// 有对应的灯的时候才点亮 东有对应的灯是西 西没有对应的灯Lamp.valueOf(opposite).light();}System.out.println(name() + " lamp is green,下面总共应该有6个方向能看到汽车穿过!");}// 灯变红的时候把对应的灯也变红public Lamp balckout() {this.lighted = false;if (opposite != null) {// 当自己变红的时候 把对应的灯也变红Lamp.valueOf(opposite).balckout();}// 同时把下一个灯变绿// 把这个灯返回给控制器 告诉控制器 现在绿的灯是哪一个 控制器下一步来变红Lamp nextLamp = null;if (next != null) {nextLamp = Lamp.valueOf(next);System.out.println("绿灯从" + name() + "-------->切换为" + next);nextLamp.light();}return nextLamp;}// 私有无参构造private Lamp() {}}
0 0
- 交通灯管理系统Lamp类
- 交通灯管理系统Road类
- 交通灯管理系统LampControler类
- 交通灯管理系统MainClass测试类
- 交通灯管理系统
- 交通灯管理系统
- 交通灯管理系统笔记
- 交通灯管理系统
- 交通灯管理系统
- 交通灯管理系统
- 交通灯管理系统
- 交通灯管理系统
- 交通灯管理系统
- 交通灯管理系统项目
- 模拟交通灯管理系统
- 交通灯管理系统
- 交通灯管理系统
- java--交通灯管理系统
- hibernate总结之hibernate映射文件
- PDO改造php数据库管理类
- 斯坦福大学自然语言处理研究的《信息检索》课程
- 软件架构模式
- autoconf通用程序探测宏
- 交通灯管理系统Lamp类
- IO流概述
- 短信中心号码
- Unbrick wr703n wifi router
- ubuntu12.04 Qt WebKit编译
- (转)File GDB 和Personal GDB的比较
- altium学习之常用快捷键
- 交通灯管理系统LampControler类
- oracle 采用游标循环插入数据的存储过程