Class FizzBuzz
java.lang.Object
g1101_1200.s1195_fizz_buzz_multithreaded.FizzBuzz
1195 - Fizz Buzz Multithreaded.
Medium
You have the four functions:
printFizzthat prints the word"Fizz"to the console,printBuzzthat prints the word"Buzz"to the console,printFizzBuzzthat prints the word"FizzBuzz"to the console, andprintNumberthat prints a given integer to the console.
You are given an instance of the class FizzBuzz that has four functions: fizz, buzz, fizzbuzz and number. The same instance of FizzBuzz will be passed to four different threads:
- Thread A: calls
fizz()that should output the word"Fizz". - Thread B: calls
buzz()that should output the word"Buzz". - Thread C: calls
fizzbuzz()that should output the word"FizzBuzz". - Thread D: calls
number()that should only output the integers.
Modify the given class to output the series [1, 2, "Fizz", 4, "Buzz", ...] where the ith token ( 1-indexed ) of the series is:
"FizzBuzz"ifiis divisible by3and5,"Fizz"ifiis divisible by3and not5,"Buzz"ifiis divisible by5and not3, oriifiis not divisible by3or5.
Implement the FizzBuzz class:
FizzBuzz(int n)Initializes the object with the numbernthat represents the length of the sequence that should be printed.void fizz(printFizz)CallsprintFizzto output"Fizz".void buzz(printBuzz)CallsprintBuzzto output"Buzz".void fizzbuzz(printFizzBuzz)CallsprintFizzBuzzto output"FizzBuzz".void number(printNumber)Callsprintnumberto output the numbers.
Example 1:
Input: n = 15
Output: [1,2,“fizz”,4,“buzz”,“fizz”,7,8,“fizz”,“buzz”,11,“fizz”,13,14,“fizzbuzz”]
Example 2:
Input: n = 5
Output: [1,2,“fizz”,4,“buzz”]
Constraints:
1 <= n <= 50
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
FizzBuzz
public FizzBuzz(int n)
-
-
Method Details
-
fizz
- Throws:
InterruptedException
-
buzz
- Throws:
InterruptedException
-
fizzbuzz
- Throws:
InterruptedException
-
number
- Throws:
InterruptedException
-