Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
Name:
Anonymous2008-04-29 21:24
Bow down before the ENTERPRISE package fizzbuzz;
public interface IFizzBuzz {
public void setStart();
public void setEnd();
public String getFizzBuzz();
}
=================================================
package fizzbuzz;
/**
* Singleton adapter factory
*/
public class FizzBuzzFactory {
public static final FizzBuzzFactory INSTANCE = new FizzBuzzFactory();
private FizzBuzzFactory() {
registerAdapters();
}
public <T> createInstance(Class<T> clazz) {
if (clazz == IFizzBuzz.class) {
return new FizzBuzzImpl();
} else return null;
}
public String getFizzBuzz() {
String result = "";
for (int i = fStart; i <= fEnd; i++) {
if (getFizz(i) && getBuzz(i))
result += "FizzBuzz";
else if (getFizz(i))
result += "Fizz";
else if (getBuzz(i))
result += "Buzz";
else result += i;
}
return result;
}
}
=================================================
import junit.framework.*;
public class TestFizzBuzz extends TestCase {
public void setUp() {
}
public void tearDown() {
}
public void testGetFizzBuzz() {
IFizzBuzz f = FizzBuzzFactory.INSTANCE.createInstance(IFizzBuzz.class);
f.setStart(1);
f.setEnd(100);
AssertEquals(f.getFizzBuzz(),