FizzBuzz/Java

From Rosetta Code
Revision as of 22:43, 19 November 2014 by rosettacode>Hajo ({{collection|FizzBuzz}})
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
FizzBuzz/Java is part of FizzBuzz. You may find other members of FizzBuzz at Category:FizzBuzz.

If/else ladder

<lang java>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); } } } }</lang>

Concatenation

<lang java>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); } } }</lang>

Ternary operator

<lang java>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"); } } }</lang>

Recursive

<lang java>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;

}</lang>

Alternative Recursive

<lang java>public String fizzBuzz(int n){

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

}</lang>

Using an array

<lang java>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 ) ]);
   }
 }

}</lang>

Lambda with Arrays

<lang java>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);
   });
 }

}</lang>

Lambda with Streams

<lang java>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(s -> System.out.println(s))
   ;
 }

}</lang>