Write the definition of a class Counter containing: An instance variable named counter of type int An instance variable named limit of type int. A constructor that takes two int arguments and assigns the first one to counter and the second one to limit

LANGUAGE: Java

CHALLENGE:

Write the definition of a class Counter containing:
An instance variable named counter of type int
An instance variable named limit of type int.
A constructor that takes two int arguments and assigns the first one to counter and the second one to limit
A method named increment. It does not take parameters or return a value; if the instance variable counter is less than limit, increment just adds one to the instance variable counter.
A method named decrement. It also does not take parameters or return a value; if counter is greater than zero, it just subtracts one from the counter.
A method named getValue that returns the value of the instance variable counter.

SOLUTION:


    def __init__(self, a, b):
        self._nCounters = 0
        self._counter = a
        self._limit = b
        self._nCounters += 1

    def increment(self):
        if self._counter < self._limit:
             self._counter += 1

    def decrement(self):
        if self._counter > 0:
            self._counter -= 1

    def get_Value(self):
        return self._counter

    Value = property(fget=get_Value)

    def get_NCounters(self):
        return self._nCounters

    NCounters = property(fget=get_NCounters)