Java 交通灯程序

2025 年 5 月 12 日 | 阅读 4 分钟

交通信号灯系统作为一种标准的机制,用于指导交叉路口的交通流和行人活动,以在整个交叉路口维持道路安全和秩序。该系统使用不同的信号,通过改变颜色模式(包括红色、黄色和绿色)来向驾驶员传递指令。

在本节中,我们将创建一个简单的Java交通信号灯程序。该程序模拟了交通信号灯的行为,提供了交互式演示,说明灯光如何变化以及系统如何处理各种状态。

交通信号灯系统按周期运行,每种颜色的灯光向道路使用者发出不同的指令

  1. 红色:停止
  2. 黄色:准备停车(或谨慎通行)
  3. 绿色:通行

本程序的目的是模拟交通信号灯的状态转换并实现基本的控制流程机制。阅读完本文,您将了解交通信号灯系统在Java中的工作原理以及如何使用基本编程概念来模拟它。

交通信号灯模拟算法

基于Java的交通信号灯系统实现采用了一个简单的算法来执行红色、黄色和绿色阶段之间的转换。该过程将通过多个周期执行,以代表交通信号灯从一个状态到另一个状态的转换。

分步算法

初始化交通信号灯状态:从红色状态开始(因为这是交通信号灯的典型起始状态)。

定义状态转换:定义状态之间的转换

  1. 从红色到绿色。
  2. 从绿色到黄色。
  3. 从黄色到红色。

使用定时器模拟转换:每个状态应显示一段时间(例如,3秒),然后再转换为下一个状态。使用定时器来模拟转换之间的等待时间。

重复周期:每次状态转换后,程序将等待预设时间,然后更改为下一个状态。重复此周期固定次数(例如,10个周期)。

结束模拟:完成指定数量的周期后,程序将停止。

让我们在 Java 程序中实现上述步骤。

输出

 
The traffic light is RED
The traffic light is GREEN
The traffic light is YELLOW
The traffic light is RED
The traffic light is GREEN
The traffic light is YELLOW
The traffic light is RED
The traffic light is GREEN
The traffic light is YELLOW
The traffic light is RED   

解释

交通信号灯模拟程序包含三个关键部分。程序使用`TrafficLightState`枚举来建立三种功能性的交通信号灯状态,分别对应红灯(停止)和黄灯、绿灯(通行)。

`TrafficLight`类负责控制交通信号灯的当前状态。程序包含使用`changeState()`在状态之间移动的函数,而`displayLightStatus()`显示当前状态。

`changeState()`方法按照标准模式执行:红色转为绿色,然后绿色转为黄色,最后返回红色。

`TrafficLightSimulation`类中的`main()`方法执行一个十次循环,在每次循环中,状态改变每秒发生一次。每个周期结束后,模拟会自动更新并在控制台屏幕上显示当前的交通信号灯状况,这与真实的道路交通运行情况相对应。

结论

在本节中,我们成功创建了一个简单的Java交通信号灯模拟程序。通过状态转换,我们的程序能够模拟交通信号灯系统的运行变化。该程序执行10个连续周期,在控制台屏幕上显示交通信号灯的状态更新。

该模拟展示了循环、枚举和延迟函数等基本编程原理,同时为学生提供了交通信号灯运行控制的实践经验。通过实现行人信号灯或交通传感器,可以进一步扩展此模拟,从而在未来的开发中增强系统的复杂性。