What's the code for beginner Java counters?

314    Asked by CsabaToth in Java , Asked on Oct 12, 2022

My professor wants me to do this:


Write a number of interchangeable counters using the Counter interface below:


public interface Counter {
/** Current value of this counter. */
int value();
/** Increment this counter. */
void up();
/** Decrement this counter. */
void down();
}

How do I work on the Resettable Counter?


Develop the following:


An interface Resettable Counter that supports the message void reset() in addition to those of Counter.


An implementation of ResetableCounter called BasicCounter that starts at the value 0 and counts up and down by +1 and -1 respectively.


An implementation of Resettable Counter called SquareCounter that starts at the value 2, counts up by squaring its current value, and counts down by taking the square root of its current value (always rounding up, i.e. 1.7 is rounded to 2, just like 1.2 is rounded to 2).


An implementation of Resettable Counter called FlexibleCounter that allows clients to specify a start value as well as an additive increment (used for counting up) when a counter is created. For example new FlexibleCounter(-10, 3) would yield a counter with the current value -10; after a call to up() its value would be -7.


All of your implementations should be resettable, and each should contain a main method that tests whether the implementation works as expected using assert as we did in lecture (this is a simple approach to unit testing which we'll talk about more later).

Answered by Anne Bell

An interface Resettable Counter that supports the message void reset() in addition to those of Counter.


Your professor provides this statement to you as a hint. It is practically saying Resettable Counter should extend java Counters interface.

make countVariable or count(as @200_success suggested) private. As no other outside class should have any permission to change the count.



Your Answer

Interviews

Parent Categories