|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 112
|
[JAVA] : Enumerazioni
Salve,
è possibile avere un semplicissimo esempio di enmerazione in java per poi essere utilizzato oin uno switch se ho Codice:
public enum MiaEnumerazione {
UNO,DUE,TRE;
}
grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
non lo so ma ci provo:
Codice:
Scanner sc = new Scanner(System.in);
int scelta = sc.nextInt();
MiaEnumerazione me;
switch(scelta)
{
case me.UNO:
break;
case me.DUE:
break;
case me.TRE:
break;
}
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2006
Città: MILANO
Messaggi: 1645
|
in questo caso pero' ti conviene quasi usare delle costanti.
UNO=1; due=2ecc... e poi nello switch usare UNO DUE ecc.. aggiungo una domanda: non si puo' scrivere anche MiaEnumerazione.UNO?
__________________
xoooxoooxooox |
|
|
|
|
|
#4 | |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
Quote:
uno switch con una enum ti permette di: scegliere, in base a un qualsiasi criterio, che costante attribuire alla enum: Codice:
int scelta=...;
switch(scelta) {
case 1: me=MiaEnumerazione.UNO; break;
case 2: me=MiaEnumerazione.DUE; break;
case 3: me=MiaEnumerazione.TRE; break;
default: me=null
}
Codice:
MiaEnumerazione me=...;
switch(me) {
case UNO: /* fai qualcosa */ ; break;
case DUE: /* fai qualcosa */ ; break;
case TRE: /* fai qualcosa */; break;
}
british |
|
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Sep 2008
Città: Milano
Messaggi: 126
|
Quote:
1. un'enumerazione definisce un dominio, ovvero un insieme di valori (simbolici) accettabili. questo è già un buon aiuto alla correttezza del programma Codice:
enum Codice { ROSSO, GIALLO, VERDE }
public static final int ROSSO=3;
public static final int GIALLO=2;
public static final int VERDE=1;
Codice codE=Codice.ROSSO; // codE è o ROSSO o GIALLO o VERDE o null
int codN=GIALLO; // ok
int codN=37; // questo è legale, ma non va bene! che roba è 37?
3. a una enum è possibile associare dati aggiuntivi, attraverso l'aggiunta di campi e metodi, o anche ridefinendo toString() 4. proprio perchè definiscono un insieme, le enum non ammettono valori duplicati. se hai invece delle costanti intere tipo ROSSO=3, GIALLO=2, VERDE=1, BIANCO=0, NERO=4 come fai a garantire che da qualche parte non salti fuori un VIOLA=3 ? che in tal caso Codice:
public static final int ROSSO=3; public static final int GIALLO=2; ... public static final int VIOLA=3; int cod=ROSSO; if(cod==VIOLA) // è viola per davvero? uhm...! ciao! british |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:38.




















