I'm a little bit surprised of "if-else if-else if" mindset in c2.com wiki entry for this. I always thought of FizzBuzz solution without a single else, like this:
for (int i = 1; i <= 100; ++i) {
boolean pureNumba = true;
if (i % 3 == 0) {
System.out.print("Fizz");
pureNumba = false;
}
if (i % 5 == 0) {
System.out.print("Buzz");
pureNumba = false;
}
if (pureNumba) {
System.out.print(i);
}
System.out.println();
}
I like to think it's matter of readability. "if (pureNumber)" vs. "if (i % 3 != 0 && i % 5 != 0)". Also, one extra variable vs. reversal of already mentioned condition. Yes, we're splitting hair here :)
The solution doesn't takes into consideration the 'fizzbuzz' output. Your solution would print both fizz and buzz when the int is divisible by both 3 and 5.
Comments
I'm a little bit surprised of "if-else if-else if" mindset in c2.com wiki entry for this. I always thought of FizzBuzz solution without a single else, like this:
Whether an extra variable is better than an extra conditional is mostly a matter of taste. Yours gets the job done too.
Why not just
this extra boolean variable out?I like to think it's matter of readability. "if (pureNumber)" vs. "if (i % 3 != 0 && i % 5 != 0)". Also, one extra variable vs. reversal of already mentioned condition. Yes, we're splitting hair here :)
The solution doesn't takes into consideration the 'fizzbuzz' output. Your solution would print both fizz and buzz when the int is divisible by both 3 and 5.
"For numbers which are multiples of both three and five print “FizzBuzz”."