Java Reference
In-Depth Information
The modulo operator
The last method in the NumberDisplay class increments the display value by 1. It takes
care that the value resets to 0 when the limit is reached:
public void increment()
value = (value + 1) % limit;
This method uses the modulo operator ( % ). The modulo operator calculates the remainder of an
integer division. For example, the result of the division
27 / 4
can be expressed in integer numbers as
result = 6, remainder = 3
The modulo operator returns just the remainder of such a division. Thus, the result of the ex-
pression (27 % 4) would be 3 .
Exercise 3.15 Explain the modulo operator. You may need to consult more resources (on-
line Java language resources, other Java books, etc.) to find out the details.
Exercise 3.16 What is the result of the expression (8 % 3) ?
Exercise 3.17 Try out the expression (8 % 3) in the Code Pad. Try other numbers. What
happens when you use the modulo operator with negative numbers?
Exercise 3.18 What are all possible results of the expression (n % 5) , where n is an
integer variable?
Exercise 3.19 What are all possible results of the expression (n % m) , where n and m are
integer variables?
Exercise 3.20 Explain in detail how the increment method works.
Exercise 3.21 Rewrite the increment method without the modulo operator, using an if
statement. Which solution is better?
Exercise 3.22 Using the clock-display project in BlueJ, test the NumberDisplay class by
creating a few NumberDisplay objects and calling their methods.
Class ClockDisplay
Now that we have seen how we can build a class that defines a two-digit number display, we shall
look in more detail at the ClockDisplay class—the class that will create two number displays to
create a full time display. Code 3.4 shows the complete source code of the ClockDisplay class.
As with the NumberDisplay class, we shall briefly discuss all fields, constructors, and methods.
Search WWH ::

Custom Search