Comme j'ai complètement perdu l'opportunité de toucher Java au travail, j'ai réfléchi à la manière de résoudre le «problème Fizz Buzz» de différentes manières en utilisant Java.
FizzBuzz.java
	/**
	 *Une méthode courante utilisant l'instruction for.
	 * @param end Le nombre pour terminer FizzBuzz.
	 */
	public static void useForLoop(int end) {
		for (int i=1; i<=end; i++) {
			if (i%3==0 && i%5==0) {
				System.out.println("Fizz Buzz");
			} else if (i%3==0) {
				System.out.println("Fizz");
			} else if (i%5==0) {
				System.out.println("Buzz");
			} else {
				System.out.println(i);
			}
		}
	}
FizzBuzz.java
	/**
	 *Une méthode qui utilise l'opérateur ternaire.
	 * @param end Le nombre pour terminer FizzBuzz.
	 */
	public static void useForLoopWithTertiaryOperator(int end) {
		for (int i=1; i<=end; i++) {
			System.out.println(
					(i%3==0 && i%5==0) ? "Fizz Buzz" : (i%3==0) ? "Fizz" : (i%5==0) ? "Buzz" : i
					);
		}
	}
FizzBuzz.java
import java.util.stream.IntStream;
...
	/**
	 *Une méthode qui utilise l'API Stream.
	 * @param end Le nombre pour terminer FizzBuzz.
	 */
	public static void useStreamAPI(int end) {
		IntStream.rangeClosed(1, end)
			.mapToObj(i -> (i%3==0 && i%5==0) ? "Fizz Buzz" : (i%3==0) ? "Fizz" : (i%5==0) ? "Buzz" : i)
			.forEach(msg -> System.out.println(msg));
	}
Recommended Posts