Bonjour à tous,
Tout d'abord, étant nouveau sur ce forum, j'espère me trouver dans la bonne catégorie.
Ma question comporte la classe Scanner. Je souhaite faire interagir l'utilisateur dans un programme à différentes reprises et différents endroits de mon programme. Pour cela je crée une "public static", où je crée un objet de la classe Scanner, je l'utilise puis le ferme.
Le problème est qu'à la seconde utilisation, j'obtiens un message d'erreur que je n'explique pas...
Voici un exemple simple où le phénomène se produit :
Voici les erreurs retournées par la JVM :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import java.util.Scanner; public class Essai { public static String foo () { Scanner reader = new Scanner(System.in); String answer = reader.next(); reader.close(); return answer; } public static void main(String[] args) { for (int i = 0; i < 2; i++) { System.out.println(foo()); } } }
Quelqu'un a t il une explication de ce phénomène ?Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:838)
at java.util.Scanner.next(Scanner.java:1347)
at Language.Essai.foo(Essai.java:9)
at Language.Essai.main(Essai.java:16)
Merci d'avance pour vos réponse, et merci pour le temps pris pour la lecture de ce post.
Partager