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

68 lines
1.2 KiB
Java

package tp_codecheck.tp03;
/**
A simulated traffic light.
*/
public class TrafficLight2
{
private int steps;
/**
Constructs a green traffic light.
*/
public TrafficLight2()
{
this.steps = 0;
}
/**
Constructs a traffic light.
@param initialColor the initial color "green", "yellow", or "red"
*/
public TrafficLight2(String initialColor)
{
switch (initialColor) {
case "green":
this.steps = 0;
break;
case "yellow":
this.steps = 1;
break;
case "red":
this.steps = 2;
break;
}
}
/**
Moves this traffic light to the next color.
*/
public void next()
{
steps++;
}
/**
Returns the current color of this traffic light.
@return the current color
*/
public String getColor()
{
int rem = (this.steps + 1) % 3;
if (rem == 0)
return "red";
else if (rem == 1)
return "green";
else
return "yellow";
}
/**
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.steps + 1) / 3;
}
}