Problem Statement:
/**
* Fizz Buzz program:
*
* Write a program that outputs the string representation of numbers from 1 to n
*
* But for multiples of three it should output "Fizz" instead of the number &
* for the multiples of five output "Buzz".
*
* For numbers which are multiples of both three and five output
* "FizzBuzz"
*
* For n = 6
*
* create an array of strings like
* [ "1"
* "2"
* "Fizz"
* "4"
* "Buzz"
* "Fizz"
* ]
*
* */Accepted Program:package com.algos;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FizzBuzz {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
List<String> fbList = new ArrayList<>();
getFizzBuzzStrArray(n, fbList);
for(String fb: fbList) {
System.out.println(fb);
}
}
private static void getFizzBuzzStrArray(int n, List<String> fbList) {
for(int i=1; i<=n; i++)
{
if (i % 3 == 0 && i % 5 == 0) {
fbList.add("FizzBuzz");
continue;
} else if (i % 3 == 0) {
fbList.add("Fizz");
continue;
} else if (i % 5 == 0) {
fbList.add("Buzz");
continue;
} else {
fbList.add(String.valueOf(i));
}
}
}
} Output For n=15:1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
No comments:
Post a Comment