🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Metodi Statici in Java

Codegrind Team•Jul 12 2024

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));
    }
}