Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio Spring -2

  • Crie uma expressão lambda que multiplique dois números inteiros. A expressão deve ser implementada dentro de uma interface funcional com o método multiplicacao(int a, int b).
@FunctionalInterface
interface Multiplicacao {
    int multiplicacao(int a, int b);
}

Multiplicacao multiplica = (a, b) -> a * b;
        System.out.println("Multiplicação de 5 x 2 = " + multiplica.multiplicacao(5,2));
  • Implemente uma expressão lambda que verifique se um número é primo.
@FunctionalInterface
interface Primo{
    boolean ehprimo(int n);
}
Primo primo = numero -> {
                if (numero <= 1) {
                    return false;
                }
                for (int i = 2; i <= Math.sqrt(numero); i++) {
                    if (numero % i == 0) {
                        return false;
                    }
                }
                return true;
            };
        System.out.println("2 é um numero primo? "+ primo.ehprimo(2));
        System.out.println("4 é um numero primo? "+ primo.ehprimo(4));
  • Crie uma função lambda que receba uma string e a converta para letras maiúsculas.
@FunctionalInterface
interface PalavraUpper{
    String Maisculo(String palavra);
}
PalavraUpper palavra = p -> p.toUpperCase();
        System.out.println(palavra.Maisculo("Arabela"));
  • Crie uma expressão lambda que verifique se uma string é um palíndromo. A expressão deve ser implementada dentro de uma interface funcional com o método boolean verificarPalindromo(String str). Dica: utilize o método reverse da classe StringBuilder.
@FunctionalInterface
interface PalavraPalindromo{
    boolean palindromo(String palavra);
    
    PalavraPalindromo pali = p -> p.equals(new StringBuilder(p).reverse().toString());
    System.out.println("Estas Palavras são palindromas: ");
        System.out.println("Azul = " + pali.palindromo("azul"));
        System.out.println("1001 = " + pali.palindromo("1001"));
  • Implemente uma expressão lambda que recebe uma lista de inteiros e retorna uma nova lista onde cada número foi multiplicado por 3. Dica: a função replaceAll, das Collections, recebe uma interface funcional como parâmetro, assim como vimos na função forEach.
List<Integer>inteiros = Arrays.asList(1, 2, 3, 4, 5);
        inteiros.replaceAll(i -> i*3);
        System.out.println(inteiros);
  • Crie uma expressão lambda que ordene uma lista de strings em ordem alfabética. Dica: a função sort, das Collections, recebe uma interface funcional como parâmetro, assim como vimos na função forEach.
List<String> nomes = Arrays.asList("Lucas", "Maria", "João", "Ana");
            nomes.sort((a,b) -> a.compareTo(b));
                nomes.forEach(p -> System.out.print(p+", "));
  • Crie uma função lambda que recebe dois números e divide o primeiro pelo segundo. A função deve lançar uma exceção de tipo ArithmeticException se o divisor for zero.
interface Divisor {
    int dividir(int a, int b) throws ArithmeticException;
}
Divisor dividir = (num1,num2) -> {
            if(num2==0) throw new ArithmeticException("Impossivel dividir por Zero!!!");
            return num1/num2;
            };
            try {
                System.out.println("Divisao de 4/2 = " + dividir.dividir(4,2));
                System.out.println("Divisao de 12/0 = " + dividir.dividir(12,0));

            }catch (ArithmeticException e){
                System.out.println(e.getMessage());

            }
1 resposta
solução!

Oi, Paulo! Tudo bom?

Excelente! Siga praticando com os desafios e sempre compartilhe conosco.

Você soube aplicar as expressões lambda de forma eficiente para resolver diferentes problemas, aproveitou o uso das interfaces funcionais para estruturar comportamentos reutilizáveis e entendeu como o paradigma funcional é essencial para deixar o código Java mais conciso e legível.

Permaneça postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!