Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Resolução do problema

package Lambdas;

import java.util.function.BinaryOperator;

public class ExpressaoLambda {
    public static void main(String[] args) {
        BinaryOperator<Integer> operator = (a, b) -> a * b;
        System.out.println(operator.apply(10, 20));
    }
}
package Lambdas;

import java.util.function.Predicate;

public class Primos {
    static void main(String[] args) {
        Predicate<Integer> isPrimo = ( num) -> {
            if (num <= 1) {
                return false;
            }
            if (num == 2) {
                return true;
            }
            if (num % 2 == 0) {
                return false;
            }
            for (int i = 3; i <= Math.sqrt(num); i += 2) {
                if (num % i == 0) {
                    return false;
                }
            }
            return true;
        };

        System.out.println(isPrimo.test(29));
        System.out.println(isPrimo.test(4));
    }
}
package Lambdas;

import java.util.function.Function;

public class ConverteMaiusculas {
    public static void main(String[] args) {
        Function<String, String> toUpperCase = s -> s.toUpperCase();
        System.out.println(toUpperCase.apply("exemplo"));
    }
}
package Lambdas;

import java.util.function.Predicate;

public class VerificadorPalindromo {
    static void main(String[] args) {
        Predicate<String> verificadorPalindromo = str -> {
          StringBuilder sb = new StringBuilder(str);
          String reversed = sb.reverse().toString();
          return str.equalsIgnoreCase(reversed);
        };

        System.out.println(verificadorPalindromo.test("exemplo"));
        System.out.println(verificadorPalindromo.test("radar"));
        System.out.println(verificadorPalindromo.test("Aibohphobia"));
    }
}
package Lambdas;

import java.util.Arrays;
import java.util.List;

public class Multiplicador {
    static void main(String[] args) {
        List<Integer> numeros = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
        numeros.replaceAll(n -> n * 3);
        System.out.println(numeros);
    }
}
package Lambdas;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class OrdemAlfabetica {
    static void main(String[] args) {
        List<String> nomes = new ArrayList<>(Arrays.asList("banana", "abacaxi", "maça", "laranja", "morango"));
        nomes.sort((s1, s2) -> s1.compareTo(s2));
        System.out.println(nomes);
    }
}
package Lambdas;

import java.util.function.BiFunction;

public class Divisor {
    static void main(String[] args) {
        BiFunction<Integer, Integer, Integer> dividir = (dividendo, divisor) -> {
            if (divisor == 0){
                throw new ArithmeticException("Divisor não pode ser zero");
            }
            return dividendo / divisor;
        };

        try {
            System.out.println("Resultado: " + dividir.apply(10, 2));
            System.out.println("Resultado: " + dividir.apply(17,0 ));
        } catch (ArithmeticException e) {
            System.out.println("Exceção capturada: " + e.getMessage());
        }
    }
}