Le type enumération

Résolu/Fermé
Adann - 16 févr. 2012 à 14:51
 Adann - 16 févr. 2012 à 19:54
Bonjour,

Comment en java peut on lire au clavier un type enum.

exemple pour un entier on fait

int a;

pour le lire c'est
a = (new Scanner(System.in)).nextInt();

pour un type enum on fait comment

Merci d'avance

1 réponse

KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 3 005
Modifié par KX le 16/02/2012 à 15:04
Il faut lire un String avec nextLine, puis faire la conversion avec parse, exemple :

public class Test
{
    public static enum Saison {Printemps, Ete, Automne, Hiver};
    
    public static void main(String...args)
    {
        try
        {
            System.out.print("Saison : ");
            Scanner sc = new Scanner(System.in);
            Saison s = Saison.valueOf(sc.nextLine());
            System.out.println(s);
        }
        catch (IllegalArgumentException e)
        {
            System.err.println(e);
        }
    }
}

Mais à la moindre faute de frappe, ça plante, donc ce n'est pas très pratique, il vaut mieux utiliser les valeurs enum cachées dans le code, et faire une interface utilisateur plus tolérante (par exemple en leur demandant d'entrer un chiffre).La confiance n'exclut pas le contrôle
0
Merci!
0
Beaucoup!
0