Pourquoi ne puis-je entrer une chaîne de caractères dans le Scanner(System.dans l'), lors de l'appel de nextLine()-méthode?

Comment ce programme fait le travail...?

import java.util.Scanner;

class string
{
    public static void main(String a[]){
        int a;
        String s;
        Scanner scan = new Scanner(System.in);

        System.out.println("enter a no");
        a = scan.nextInt();
        System.out.println("no is ="+a);

        System.out.println("enter a string");
        s = scan.nextLine();
        System.out.println("string is="+s);
    }
}

La sortie est:

enter the no
1234
no is 1234
enter a string
string is=         //why is it not allowing me to enter a string here?
En java, les noms de classes commencent généralement avec une majuscule -, mais je conseille vivement contre l'appel de votre classe "String".
double possible de Pourquoi n'est-ce pas pour boucle permettez-moi d'entrée de texte du premier cycle?
Aussi pour rendre ce code compile, vous devez modifier le paramètre de la méthode main pour autre chose qu'une.

OriginalL'auteur user1646373 | 2012-09-04