Move History

Rooted by: CardinalPractice
Fork Selected
  • Code
    import static java.util.stream.IntStream.rangeClosed;
    import java.util.List;
    
    interface FizzBuzz {
      static List<String> evaluate(int input) {
        return rangeClosed(1, input).mapToObj(FizzBuzz::determineFizzbuzz).toList();
      }
      
      private static String determineFizzbuzz(int n) {
        if (n % 15 == 0) return "FizzBuzz";
        if (n % 3 == 0) return "Fizz";
        if (n % 5 == 0) return "Buzz";
        return "" + n;
      }
    }
    Test Cases
    import org.junit.jupiter.api.Test;
    import java.util.List;
    
    import static org.junit.jupiter.api.Assertions.assertEquals;
    
    class SolutionTest {
      @Test
      void shouldAcceptInt() {
        assertEquals(List.of("1"), FizzBuzz.evaluate(1));
      }
      
      @Test
      void inputOfTwo() {
        assertEquals(List.of("1", "2"), FizzBuzz.evaluate(2));
      }
      
      @Test
      void inputOfThree() {
        assertEquals(List.of("1", "2", "Fizz"), FizzBuzz.evaluate(3));
      }
      
      @Test
      void inputOfFive() {
        assertEquals(List.of("1", "2", "Fizz", "4", "Buzz"), FizzBuzz.evaluate(5));
      }
      
      @Test
      void inputOfFifteen() {
        assertEquals(List.of("1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz"), FizzBuzz.evaluate(15));
      }
    }
    
  • Code
    • import static java.util.stream.IntStream.rangeClosed;
    • import java.util.List;
    • interface FizzBuzz {
    • static List<String> evaluate(int input) {
    • return rangeClosed(1, input).mapToObj(FizzBuzz::determineFizzbuzz).toList();
    • }
    • private static String determineFizzbuzz(int n) {
    • if(n % 15 == 0) return "FizzBuzz";
    • var ans = new StringBuilder();
    • if (n % 3 == 0) ans.append("Fizz");
    • else
    • if (n % 5 == 0) ans.append("Buzz");
    • return ans.length() > 0 ? ans.toString() : Integer.toString(n);
    • if (n % 15 == 0) return "FizzBuzz";
    • if (n % 3 == 0) return "Fizz";
    • if (n % 5 == 0) return "Buzz";
    • return "" + n;
    • }
    • }