Le type enumération

Résolu
Adann -  
 Adann -
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

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    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
    1. Adann
       
      Merci!
      0
    2. Adann
       
      Beaucoup!
      0