📢 Nuovo Corso Bootstrap Completo disponibile!

Esercizi Funzioni Lambda Java

Ecco degli esercizi semplici con soluzione per praticare le basi della creazione ed utilizzo delle funzioni lambda in Java.

Esercizio 1

Sommare due numeri utilizzando un' espressione lambda:
public class SommaNumeriLambda {
public static void main(String[] args) {
Calcolatore calcolatore = (a, b) -> a + b;
int risultato = calcolatore.calcola(5, 3);
System.out.println("La somma è: " + risultato);
}
interface Calcolatore {
int calcola(int a, int b);
}
}

Esercizio 2

Verificare se una parola è lunga più di un certo numero di caratteri utilizzando un' espressione lambda:
public class ParolaLungaLambda {
public static void main(String[] args) {
VerificatoreParola verificatore = (parola, lunghezza) -> parola.length() > lunghezza;
String parola = "esercizio";
int lunghezzaMinima = 5;
boolean isLunga = verificatore.verifica(parola, lunghezzaMinima);
if (isLunga) {
System.out.println("La parola è lunga più di " + lunghezzaMinima + " caratteri.");
} else {
System.out.println("La parola non è lunga più di " + lunghezzaMinima + " caratteri.");
}
}
interface VerificatoreParola {
boolean verifica(String parola, int lunghezza);
}
}

Esercizio 3

Calcolare l'area di un cerchio utilizzando un' espressione lambda:
public class CalcolaAreaCerchioLambda {
public static void main(String[] args) {
CalcolatoreArea calcolatore = raggio -> Math.PI * raggio * raggio;
double raggio = 2.5;
double area = calcolatore.calcola(raggio);
System.out.println("L'area del cerchio è: " + area);
}
interface CalcolatoreArea {
double calcola(double raggio);
}
}

Esercizio 4

Verificare se un numero è positivo utilizzando un' espressione lambda:
public class NumeroPositivoLambda {
public static void main(String[] args) {
VerificatoreNumero verificatore = numero -> numero > 0;
int numero = 7;
boolean isPositivo = verificatore.verifica(numero);
if (isPositivo) {
System.out.println("Il numero è positivo.");
} else {
System.out.println("Il numero non è positivo.");
}
}
interface VerificatoreNumero {
boolean verifica(int numero);
}
}

Esercizio 5

Concatenare due stringhe utilizzando un' espressione lambda:
public class ConcatenaStringheLambda {
public static void main(String[] args) {
ConcatenatoreStringhe concatenatore = (s1, s2) -> s1 + s2;
String stringa1 = "Ciao";
String stringa2 = "Mondo!";
String risultato = concatenatore.concatena(stringa1, stringa2);
System.out.println("Risultato: " + risultato);
}
interface ConcatenatoreStringhe {
String concatena(String s1, String s2);
}
}

Esercizio 6

Verificare se un numero è pari utilizzando un' espressione lambda:
public class NumeroPariLambda {
public static void main(String[] args) {
VerificatoreNumero verificatore = numero -> numero % 2 == 0;
int numero = 6;
boolean isPari = verificatore.verifica(numero);
if (isPari) {
System.out.println("Il numero è pari.");
} else {
System.out.println("Il numero non è pari.");
}
}
interface VerificatoreNumero {
boolean verifica(int numero);
}
}

Esercizio 7

Calcolare la somma di una lista di numeri utilizzando un' espressione lambda:
import java.util.ArrayList;
import java.util.List;
public class SommaListaNumeriLambda {
public static void main(String[] args) {
List<Integer> numeri = new ArrayList<>();
numeri.add(5);
numeri.add(3);
numeri.add(8);
numeri.add(2);
Sommatore sommatore = lista -> {
int somma = 0;
for (int numero : lista) {
somma += numero;
}
return somma;
};
int risultato = sommatore.somma(numeri);
System.out.println("La somma è: " + risultato);
}
interface Sommatore {
int somma(List<Integer> lista);
}
}

Esercizio 8

Verificare se una parola è palindroma utilizzando un' espressione lambda:
public class ParolaPalindromaLambda {
public static void main(String[] args) {
VerificatoreParola verificatore = parola -> {
String parolaInvertita = "";
for (int i = parola.length() - 1; i >= 0; i--) {
parolaInvertita += parola.charAt(i);
}
return parola.equalsIgnoreCase(parolaInvertita);
};
String parola = "radar";
boolean isPalindroma = verificatore.verifica(parola);
if (isPalindroma) {
System.out.println("La parola è palindroma.");
} else {
System.out.println("La parola non è palindroma.");
}
}
interface VerificatoreParola {
boolean verifica(String parola);
}
}

Esercizio 9

Calcolare la potenza di un numero utilizzando un' espressione lambda:
public class PotenzaLambda {
public static void main(String[] args) {
CalcolatorePotenza calcolatore = (base, esponente) -> {
int risultato = 1;
for (int i = 0; i < esponente; i++) {
risultato *= base;
}
return risultato;
};
int base = 2;
int esponente = 5;
int potenza = calcolatore.calcola(base, esponente);
System.out.println(base + " elevato a " + esponente + " è: " + potenza);
}
interface CalcolatorePotenza {
int calcola(int base, int esponente);
}
}

Esercizio 10

Calcolare la media di una lista di numeri utilizzando un' espressione lambda:
import java.util.ArrayList;
import java.util.List;
public class MediaListaNumeriLambda {
public static void main(String[] args) {
List<Integer> numeri = new ArrayList<>();
numeri.add(5);
numeri.add(3);
numeri.add(8);
numeri.add(2);
CalcolatoreMedia calcolatore = lista -> {
int somma = 0;
for (int numero : lista) {
somma += numero;
}
return (double) somma / lista.size();
};
double media = calcolatore.calcola(numeri);
System.out.println("La media è: " + media);
}
interface CalcolatoreMedia {
double calcola(List<Integer> lista);
}
}