Jump to content

FizzBuzz/Java: Difference between revisions

no edit summary
No edit summary
Line 105:
;
}
}</lang>
 
=== OO style ===
<lang java>public class FizzBuzz {
 
public static void main(String[] args) {
SoundMakerGroup soundMakerGroup = new SoundMakerGroup(new SoundMaker(3, "Fizz"), new SoundMaker(5, "Buzz"));
for (int i = 1; i <= 100; i++) {
System.out.println(soundMakerGroup.generate(i));
}
}
 
private static class SoundMaker {
private final int trigger;
private final String sound;
 
public SoundMaker(int trigger, String sound) {
this.trigger = trigger;
this.sound = sound;
}
 
public String generate(int i) {
return i % trigger == 0 ? sound : "";
}
}
 
private static class SoundMakerGroup {
private final SoundMaker soundMakers[];
 
public SoundMakerGroup(SoundMaker... soundMakers) {
this.soundMakers = soundMakers;
}
 
public String generate(int i) {
String sound = "";
for (SoundMaker soundMakers : soundMakers) {
sound += soundMakers.generate(i);
}
return sound.isEmpty() ? String.valueOf(i) : sound;
}
}
 
}</lang>
Cookies help us deliver our services. By using our services, you agree to our use of cookies.