⚠️ Warning: This is a draft ⚠️

This means it might contain formatting issues, incorrect code, conceptual problems, or other severe issues.

If you want to help to improve and eventually enable this page, please fork RosettaGit's repository and open a merge request on GitHub.

{{collection|FizzBuzz}}

If/else ladder

public class FizzBuzz{
	public static void main(String[] args){
		for(int i= 1; i <= 100; i++){
			if(i % 15 == 0){
				System.out.println("FizzBuzz");
			}else if(i % 3 == 0){
				System.out.println("Fizz");
			}else if(i % 5 == 0){
				System.out.println("Buzz");
			}else{
				System.out.println(i);
			}
		}
	}
}

Concatenation

public class FizzBuzz{
	public static void main(String[] args){
		for(int i= 1; i <= 100; i++){
			String output = "";
			if(i % 3 == 0) output += "Fizz";
			if(i % 5 == 0) output += "Buzz";
			if(output.equals("")) output += i;
			System.out.println(output);
		}
	}
}

Ternary operator

public class FizzBuzz{
	public static void main(String[] args){
		for(int i= 1; i <= 100; i++){
			System.out.println(i % 15 != 0 ? i % 5 != 0 ? i % 3 != 0 ? 
			i : "Fizz" : "Buzz" : "FizzBuzz");
		}
	}
}

Recursive

public String fizzBuzz(int n){
  String s = "";
  if (n == 0)
    return s;
  if((n % 5) == 0)
    s = "Buzz" + s;
  if((n % 3) == 0)
    s = "Fizz" + s;
  if (s.equals(""))
    s = n + "";   
  return fizzBuzz(n-1) +  s;
}

Alternative Recursive

public String fizzBuzz(int n){
  return (n>0) ? fizzBuzz(n-1) + 
    (n % 15 != 0? n % 5 != 0? n % 3 != 0? (n+"") :"Fizz" : "Buzz" : "FizzBuzz") 
               : "";
}

Using an array

class FizzBuzz {
  public static void main( String [] args ) {
    for( int i = 1 ; i <= 100 ; i++ ) {
      System.out.println( new String[]{ i+"", "Fizz", "Buzz", "FizzBuzz" }[ ( i%3==0?1:0 ) + ( i%5==0?2:0 ) ]);
    }
  }
}

Lambda with Arrays

class FizzBuzz {
  public static void main( String [] args ) {
    int [] x = new int [100];
    Arrays.setAll(x, j -> j++);
    Arrays.stream(x).forEach(i -> {
        if(i == 0) return;
        String output = "";
        if(i % 3 == 0) output += "Fizz";
        if(i % 5 == 0) output += "Buzz";
        if(output.equals("")) output += i;
        System.out.println(output);
    });
  }
}

Lambda with Streams

package fizzbuzz;

import static java.util.stream.IntStream.rangeClosed;

public interface FizzBuzz {
  public static void main(String... arguments) {
    rangeClosed(1, 100)
      .mapToObj(i -> {
        if (i % (3 * 5) == 0) {
          return "FizzBuzz";
        } else if (i % 3 == 0) {
          return "Fizz";
        } else if (i % 5 == 0) {
          return "Buzz";
        } else {
          return Integer.toString(i);
        }
      })
      .forEach(System.out::println)
    ;
  }
}

OO style

public class FizzBuzz {

    public static void main(String[] args) {
        Sound sound = new Sound(3, "Fizz", new Sound(5, "Buzz"));
        for (int i = 1; i <= 100; i++) {
            System.out.println(sound.generate(i));
        }
    }

    private static class Sound {
        private final int trigger;
        private final String onomatopoeia;
        private final Sound next;

        public Sound(int trigger, String onomatopoeia, Sound next) {
            this.trigger = trigger;
            this.onomatopoeia = onomatopoeia;
            this.next = next;
        }

        public Sound(int trigger, String sound) {
            this(trigger, sound, null);
        }

        public String generate(int i) {
            StringBuilder sb = new StringBuilder();
            generate(sb, i);
            return sb.length() == 0 ? String.valueOf(i) : sb.toString();
        }
        
        private void generate(StringBuilder sb, int i) {
            if (i % trigger == 0)
                sb.append(onomatopoeia);
            if (next != null) 
                next.generate(sb, i);
        }

    }

}