🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Esercizi Enumeratori Java

Codegrind Team•Jul 22 2023

Ecco degli esercizi semplici con soluzione per praticare le basi degli enumeratori in Java.

Esercizio 1

Definire un enumeratore per i giorni della settimana:
    enum GiorniSettimana {
        LUNEDI, MARTEDI, MERCOLEDI, GIOVEDI, VENERDI, SABATO, DOMENICA
    }

    public static void main(String[] args) {
        GiorniSettimana giorno = GiorniSettimana.LUNEDI;

        System.out.println("Giorno selezionato: " + giorno);
    }

Esercizio 2

Utilizzare un enumeratore in un'istruzione switch:
    enum Stato {
        ACCESO, SPENTO, IN_ATTESA
    }

    public static void main(String[] args) {
        Stato stato = Stato.ACCESO;

        switch (stato) {
            case ACCESO:
                System.out.println("Il dispositivo è acceso.");
                break;
            case SPENTO:
                System.out.println("Il dispositivo è spento.");
                break;
            case IN_ATTESA:
                System.out.println("Il dispositivo è in attesa.");
                break;
            default:
                System.out.println("Stato non valido.");
        }
    }

Esercizio 3

Aggiungere metodi e campi agli enumeratori:
    enum Mesi {
        GENNAIO("Gennaio"), FEBBRAIO("Febbraio"), MARZO("Marzo");

        private final String nomeItaliano;

        Mesi(String nomeItaliano) {
            this.nomeItaliano = nomeItaliano;
        }

        public String getNomeItaliano() {
            return nomeItaliano;
        }
    }

    public static void main(String[] args) {
        Mesi mese = Mesi.GENNAIO;

        System.out.println("Nome italiano: " + mese.getNomeItaliano());
    }

Esercizio 4

Iterare sugli enumeratori:
    enum Punteggio {
        UNO, DUE, TRE, QUATTRO, CINQUE
    }

    public static void main(String[] args) {
        for (Punteggio punteggio : Punteggio.values()) {
            System.out.println(punteggio);
        }
    }

Esercizio 5

Confrontare enumeratori:
    enum Stato {
        ATTIVO, INATTIVO
    }

    public static void main(String[] args) {
        Stato stato1 = Stato.ATTIVO;
        Stato stato2 = Stato.INATTIVO;

        if (stato1 == stato2) {
            System.out.println("Gli stati sono uguali.");
        } else {
            System.out.println("Gli stati sono diversi.");
        }
    }

Esercizio 6

Utilizzare un enumeratore come parametro di un metodo:
    enum Colore {
        ROSSO, VERDE, BLU
    }

    static void stampaColorePreferito(Colore colore) {
        System.out.println("Il tuo colore preferito è: " + colore);
    }

    public static void main(String[] args) {
        Colore colorePreferito = Colore.ROSSO;

        stampaColorePreferito(colorePreferito);
    }

Esercizio 7

Confrontare l'ordine degli enumeratori:
    enum Livello {
        BASSO, MEDIO, ALTO
    }

    public static void main(String[] args) {
        Livello livello1 = Livello.BASSO;
        Livello livello2 = Livello.ALTO;

        if (livello1.ordinal() < livello2.ordinal()) {
            System.out.println("Il livello 1 è inferiore al livello 2.");
        } else if (livello1.ordinal() > livello2.ordinal()) {
            System.out.println("Il livello 1 è superiore al livello 2.");
        } else {
            System.out.println("I livelli sono uguali.");
        }
    }

Esercizio 8

Utilizzare enumeratori all'interno di una classe:
    enum Mesi {
        GENNAIO, FEBBRAIO, MARZO
    }

    static class Calendario {
        private Mesi meseCorrente;

        public Calendario(Mesi meseCorrente) {
            this.meseCorrente = meseCorrente;
        }

        public void stampaMeseCorrente() {
            System.out.println("Mese corrente: " + meseCorrente);
        }
    }

    public static void main(String[] args) {
        Calendario calendario = new Calendario(Mesi.GENNAIO);
        calendario.stampaMeseCorrente();
    }

Esercizio 9

Utilizzare un enumeratore come costante in una classe:
    enum Costanti {
        PI_GRECO(3.14159), EULERO(2.71828);

        private final double valore;

        Costanti(double valore) {
            this.valore = valore;
        }

        public double getValore() {
            return valore;
        }
    }

    public static void main(String[] args) {
        double pi = Costanti.PI_GRECO.getValore();
        double eulero = Costanti.EULERO.getValore();

        System.out.println("Valore di pi greco: " + pi);
        System.out.println("Valore di eulero: " + eulero);
    }

Esercizio 10

Utilizzare un enumeratore per definire le costanti di una classe:
    static final int DURATA_MINUTI = 60;

    enum GiorniSettimana {
        LUNEDI(DURATA_MINUTI * 24), MARTEDI(DURATA_MINUTI * 24), MERCOLEDI(DURATA_MINUTI * 24),
        GIOVEDI(DURATA_MINUTI * 24), VENERDI(DURATA_MINUTI * 24),
        SABATO(DURATA_MINUTI * 24), DOMENICA(DURATA_MINUTI * 24);

        private final int durataMinuti;

        GiorniSettimana(int durataMinuti) {
            this.durataMinuti = durataMinuti;
        }

        public int getDurataMinuti() {
            return durataMinuti;
        }
    }

    public static void main(String[] args) {
        GiorniSettimana giorno = GiorniSettimana.MARTEDI;
        int durataMinuti = giorno.getDurataMinuti();

        System.out.println("Durata in minuti di un giorno: " + durataMinuti);
    }