📢 Nuovo Corso Bootstrap Completo disponibile!

Esercizi Metodi Statici in Java

Ecco degli esercizi con soluzione per praticare l’uso dei metodi statici in Java.

Esercizio 1: Creazione di un Metodo Statico

Creare una classe con un metodo statico che stampa un messaggio.
public class Messaggio {
public static void stampaMessaggio() {
System.out.println("Ciao, questo è un metodo statico!");
}
public static void main(String[] args) {
Messaggio.stampaMessaggio();
}
}

Esercizio 2: Calcolo di una Somma

Creare un metodo statico che accetta due numeri interi come parametri e restituisce la loro somma.
public class Calcolatrice {
public static int somma(int a, int b) {
return a + b;
}
public static void main(String[] args) {
int risultato = Calcolatrice.somma(5, 10);
System.out.println("La somma è: " + risultato);
}
}

Esercizio 3: Conversione di Temperature

Creare un metodo statico che converte una temperatura da Celsius a Fahrenheit.
public class ConvertitoreTemperatura {
public static double celsiusToFahrenheit(double celsius) {
return (celsius * 9/5) + 32;
}
public static void main(String[] args) {
double celsius = 25;
double fahrenheit = ConvertitoreTemperatura.celsiusToFahrenheit(celsius);
System.out.println(celsius + " gradi Celsius sono " + fahrenheit + " gradi Fahrenheit.");
}
}

Esercizio 4: Metodo Statico con Array

Creare un metodo statico che accetta un array di numeri interi e restituisce il valore massimo.
public class ArrayUtils {
public static int trovaMassimo(int[] numeri) {
int massimo = numeri[0];
for (int num : numeri) {
if (num > massimo) {
massimo = num;
}
}
return massimo;
}
public static void main(String[] args) {
int[] numeri = {1, 2, 3, 4, 5};
int massimo = ArrayUtils.trovaMassimo(numeri);
System.out.println("Il valore massimo è: " + massimo);
}
}

Esercizio 5: Contatore Statico

Creare una classe con un attributo statico `contatore` e un metodo statico che incrementa e restituisce il contatore.
public class Contatore {
private static int contatore = 0;
public static int incrementa() {
return ++contatore;
}
public static void main(String[] args) {
System.out.println("Contatore: " + Contatore.incrementa());
System.out.println("Contatore: " + Contatore.incrementa());
}
}

Esercizio 6: Metodo Statico con Oggetti

Creare una classe con un metodo statico che accetta due oggetti `Persona` e restituisce il nome della persona più anziana.
class Persona {
private String nome;
private int eta;
public Persona(String nome, int eta) {
this.nome = nome;
this.eta = eta;
}
public int getEta() {
return eta;
}
public String getNome() {
return nome;
}
}
public class ComparatorePersona {
public static String trovaPiuAnziano(Persona p1, Persona p2) {
return (p1.getEta() > p2.getEta()) ? p1.getNome() : p2.getNome();
}
public static void main(String[] args) {
Persona persona1 = new Persona("Mario", 30);
Persona persona2 = new Persona("Luigi", 35);
String piuAnziano = ComparatorePersona.trovaPiuAnziano(persona1, persona2);
System.out.println("La persona più anziana è: " + piuAnziano);
}
}

Esercizio 7: Validazione di Email

Creare un metodo statico che verifica se una stringa è un indirizzo email valido.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ValidatoreEmail {
public static boolean emailValida(String email) {
String regex = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
public static void main(String[] args) {
String email1 = "test@example.com";
String email2 = "email.invalida.com";
System.out.println(email1 + " è valida? " + ValidatoreEmail.emailValida(email1));
System.out.println(email2 + " è valida? " + ValidatoreEmail.emailValida(email2));
}
}