C'est qu'il n'y a pas de valeur associée au texte que tu saisies. Attention, on ne trouve la valeur que pour une clef exactement égale. En particulier, il faut que la casse de ta saisie soit exactement la même que celle de la clef que tu as utilisée.
Si tu veux pouvoir retrouver une valeur quelque soit la casse, il te faudra d'une part associer les valeurs avec une casse imposée, par exemple minuscule :
map.put( clef.toLowerCase(), perso );
et d'autre part, accèder à la valeur avec la même application de casse avec la clef de recherche :
= map.get( saisie.toLowerCase() );
Si tu veux, en plus, ignorer les espaces saisies en plus, tu peux faire un trim() sur la saisie :
= map.get( saisie.trim().toLowerCase() );
Par ailleurs, NoSuchElementException ne sera jamais soulevé sur un get() sur une HashMap. C'est soulevé pour un appel de next() sur un Iterator, par exemple.
Partager