Procesamiento multiproceso de flujos de datos con agrupación y filtrado
Java
Hard
streams
Tarea «Procesamiento multiproceso de flujos de datos con agrupación y filtrado»
Escriba un programa que lea de la entrada estándar líneas que contengan números enteros separados por espacios. Cada línea representa un flujo de datos independiente. Es necesario procesar todos los flujos utilizando Java Streams, combinarlos en un solo flujo, filtrar los números positivos, elevarlos al cuadrado, agruparlos por el residuo de la división entre 5 y para cada grupo calcular el promedio aritmético. Mostrar el resultado en orden ascendente del residuo. Si para algún residuo no hay números, mostrar 0. Se garantiza que los datos de entrada contienen no más de 1000 números.
Formato de entrada
Varias líneas, cada línea contiene números enteros separados por espacios. El final de la entrada es una línea vacía.
Formato de salida
5 líneas, cada una contiene un número de punto flotante (promedio aritmético) para el residuo correspondiente de 0 a 4. La salida debe estar formateada con dos decimales.
Ejemplos
Ejemplo 1
ENTRADA
3 1 2
SALIDA
1,2,3
Ejemplo 2
ENTRADA
1 2 3 4 5 6 7 8 9 10
SALIDA
5.00
6.00
7.00
8.00
9.00
Ejemplo 3
ENTRADA
5 5 5
SALIDA
5,5,5
Ejemplo 4
ENTRADA
-1 -3 0 2
SALIDA
-3,-1,0,2
main.java