À L'Aide D'Un Scanner.next() pour obtenir la saisie de texte

J'essaie d'obtenir la saisie de texte à partir du clavier dans la version 6 de Java. Je suis nouveau à la langue et à chaque fois que j'exécute le code suivant, j'ai cette erreur:

package test1;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
    boolean quit = false;
    while (!quit){
        Scanner keyIn;
        String c = "x";
        while (c != "y" && c != "n") {
            keyIn = new Scanner(System.in);
            c = keyIn.next();
            keyIn.close();
        }
        if (c == "n")
            quit = true;
    }
 }
}


Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:838)
at java.util.Scanner.next(Scanner.java:1347)
at test1.Test.main(Test.java:11)

Suis-je mal à l'aide de la méthode next ()? J'ai pensé qu'il serait d'attendre la saisie de l'utilisateur, mais on dirait qu'il n'est pas et en jetant l'exception de dire qu'il n'y a plus rien dans le scanner.

qu'est-ce que ton code fait exactement et quelle est la source?
tout cela est pour essayer d'obtenir à l'utilisateur de saisir "y" ou "n" et si son "y" garder la boucle, sinon la sortie. l'erreur arrive n'importe quelle lettre je de la presse.

OriginalL'auteur wakingrufus | 2009-07-02