Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Seleccionando empleados con nombres cortos

Scanner teclado = new Scanner(System.in);
        List<String> funcionarios = new ArrayList<>();

        String nombre;
        do {
            System.out.println("Ingresa el nombre del empleado (o 'salir' para terminar): ");
            nombre = teclado.nextLine();

            if (!nombre.equalsIgnoreCase("salir")) {
                funcionarios.add(nombre);
            }
        } while (!nombre.equalsIgnoreCase("salir"));

        List<String> cortos = funcionarios.stream().filter(n -> n.length() <= 5)
                .collect(Collectors.toList());

        System.out.println(cortos);

SALIDA:
lista normal [Ana, Bruno, Carlos, Amanda, Alice, Daniel, Caroline]

lista filtrada : [Ana, Bruno, Alice]

1 respuesta

Hola Jose, espero que estés bien

¡Espero que estés bien! He revisado tu código y parece que has implementado correctamente el filtro para seleccionar empleados cuyos nombres tienen 5 caracteres o menos. Estás utilizando Streams de Java de manera adecuada para filtrar la lista de nombres.

Tu programa solicita al usuario que ingrese nombres de empleados y los agrega a una lista, deteniéndose cuando el usuario ingresa "salir". Luego, filtra los nombres que tienen 5 caracteres o menos y los imprime.

La salida que has mostrado coincide con lo que se espera: [Ana, Bruno, Alice]. Esto significa que tu código está funcionando correctamente para el ejemplo proporcionado.

Si estás buscando alguna mejora o tienes alguna otra pregunta sobre cómo refinar el código, no dudes en preguntar. Pero, por lo que veo, ¡lo has hecho muy bien!

Espero haber ayudado y buenos estudios!