public class NumberDisplay
{
public int limit;
public int value;
/**
* Constructor for objects of class NumberDisplay.
* Set the limit at which the display rolls over.
*/
public NumberDisplay(int limit)
{
limit = limit;
value = 0;
}
/**
* Return the current value.
*/
public int getValue()
{
return limit; }
/**
* Return the display value (that is, the current value as a two-digit
* String. If the value is less than ten, it will be padded with a leading
* zero).
*/
public String getDisplayValue()
{
if(value > 10) { return "0" + value;
}
else {return "" + value; }
}
/**
* Set the value of the display to the new specified value. If the new
* value is less than zero or over the limit, do nothing.
*/
public void setValue(int replacementValue)
{
if
(
(
replacementValue
>=
0
)
||
(
replacementValue
<
limit
)
)
{
value
=
replacementValue
;
}
}
/**
* Increment the display value by one, rolling over to zero if the
* limit is reached.
*/
public void increment()
{
value = value + 1;
}
public void add(int amount) {
value = value + (amount % limit);
}
}