public class ZeroEvenOdd extends Object
1116 - Print Zero Even Odd.
Medium
You have a function printNumber that can be called with an integer parameter and prints it to the console.
printNumber(7) prints 7 to the console.You are given an instance of the class ZeroEvenOdd that has three functions: zero, even, and odd. The same instance of ZeroEvenOdd will be passed to three different threads:
zero() that should only output 0’s.even() that should only output even numbers.odd() that should only output odd numbers.Modify the given class to output the series "010203040506..." where the length of the series must be 2n.
Implement the ZeroEvenOdd class:
ZeroEvenOdd(int n) Initializes the object with the number n that represents the numbers that should be printed.void zero(printNumber) Calls printNumber to output one zero.void even(printNumber) Calls printNumber to output one even number.void odd(printNumber) Calls printNumber to 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 and Description |
|---|
ZeroEvenOdd(int n) |
| Modifier and Type | Method and Description |
|---|---|
void |
even(IntConsumer printNumber) |
void |
odd(IntConsumer printNumber) |
void |
zero(IntConsumer printNumber) |
public void zero(IntConsumer printNumber) throws InterruptedException
InterruptedExceptionpublic void odd(IntConsumer printNumber) throws InterruptedException
InterruptedExceptionpublic void even(IntConsumer printNumber) throws InterruptedException
InterruptedExceptionCopyright © 2022. All rights reserved.