Class ZeroEvenOdd
-
- All Implemented Interfaces:
public final class ZeroEvenOdd1116 - Print Zero Even Odd\.
Medium
You have a function
printNumberthat can be called with an integer parameter and prints it to the console.For example, calling
printNumber(7)prints7to the console.
You are given an instance of the class
ZeroEvenOddthat has three functions:zero,even, andodd. The same instance ofZeroEvenOddwill be passed to three different threads:Thread A: calls
zero()that should only output0's.Thread B: calls
even()that should only output even numbers.Thread C: calls
odd()that should only output odd numbers.
Modify the given class to output the series
"010203040506..."where the length of the series must be2n.Implement the
ZeroEvenOddclass:ZeroEvenOdd(int n)Initializes the object with the numbernthat represents the numbers that should be printed.void zero(printNumber)CallsprintNumberto output one zero.void even(printNumber)CallsprintNumberto output one even number.void odd(printNumber)CallsprintNumberto output one odd number.
Example 1:
Input: n = 2
Output: "0102"
Explanation: There are three threads being fired asynchronously. One of them calls zero(), the other calls even(), and the last one calls odd(). "0102" is the correct output.
Example 2:
Input: n = 5
Output: "0102030405"
Constraints:
1 <= n <= 1000
-
-
Constructor Summary
Constructors Constructor Description ZeroEvenOdd(Integer n)
-
Method Summary
Modifier and Type Method Description final Unitzero(IntConsumer printNumber)final Unitodd(IntConsumer printNumber)final Uniteven(IntConsumer printNumber)-
-
Constructor Detail
-
ZeroEvenOdd
ZeroEvenOdd(Integer n)
-
-
Method Detail
-
zero
final Unit zero(IntConsumer printNumber)
-
odd
final Unit odd(IntConsumer printNumber)
-
even
final Unit even(IntConsumer printNumber)
-
-
-
-