Si no puedes dormir, simplemente cuenta ovejas.
Dado un número entero no negativo, por ejemplo, 3, devuelve una cadena con un murmullo:
"1 sheep...2 sheep...3 sheep...".
La entrada siempre será válida, es decir, no habrá números enteros negativos.
1 --> "1 sheep..."
2 --> "1 sheep...2 sheep..."
3 --> "1 sheep...2 sheep...3 sheep..."
Recibe un parámetro num que indica el número de veces que se repetirá la cadena.
Crea un IntStream que genera una secuencia de números enteros desde 1 hasta num, ambos inclusivos. Esto genera una secuencia de números que representará cada iteración de la cadena.
aplica una transformación a cada número en el IntStream.
Toma un número i y lo concatena con la cadena " sheep...", creando así una cadena que representa una iteración de la cadena completa.
Recolecta todas las cadenas resultantes en una sola cadena utilizando el método joining() de la clase Collectors. En este caso, no se proporciona ningún delimitador en el argumento, lo que significa que no habrá ningún carácter que separe las iteraciones de la cadena en la cadena final. Por lo tanto, las cadenas se concatenarán directamente una tras otra.
Finalmente, la cadena resultante se devuelve como resultado de la función countingSheep().