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 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
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