📢 Nuovo Corso Laravel API disponibile!

Esercizi Enumeratori Java

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