uaveiro-leci/1ano/2semestre/poo/src/tp_codecheck/tp03/part1/TrafficLight1.java

66 lines
1.3 KiB
Java

package tp_codecheck.tp03.part1;
/**
A simulated traffic light.
*/
public class TrafficLight1
{
private String color;
private int reds;
/**
Constructs a green traffic light.
*/
public TrafficLight1()
{
this.color = "green";
this.reds = 0;
}
/**
Constructs a traffic light.
@param initialColor the initial color "green", "yellow", or "red"
*/
public TrafficLight1(String initialColor)
{
this.color = initialColor;
this.reds = initialColor == "red" ? 1 : 0;
}
/**
Moves this traffic light to the next color.
*/
public void next()
{
switch (this.color) {
case "red":
this.color = "green";
break;
case "green":
this.color = "yellow";
break;
case "yellow":
this.color = "red";
this.reds += 1;
break;
}
}
/**
Returns the current color of this traffic light.
@return the current color
*/
public String getColor()
{
return this.color;
}
/**
Counts how often this traffic light has been red.
@return the number of times this traffic light has been red
*/
public int getReds()
{
return this.reds;
}
}