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 and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
n = 15,
Return:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]


好无聊的题目啊,都懒得写blog了,谁让目标是每个题目都写出来呢。算了,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public List<String> fizzBuzz(int n) {
List<String> ans = new ArrayList<>(n);
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 && i % 5 == 0) {
ans.add("FizzBuzz");
} else if (i % 3 == 0) {
ans.add("Fizz");
} else if (i % 5 == 0) {
ans.add("Buzz");
} else {
ans.add(String.valueOf(i));
}
}
return ans;
}