Continuez à lire les nombres jusqu'à ce que le saut de ligne ont atteint à l'aide d'un Scanner

Je veux lire un couple de nombres à partir de la console. La façon dont je veux faire c'est en ayant à l'utilisateur d'entrer une séquence de nombres séparés par un espace. Code pour effectuer les opérations suivantes:

Scanner sc = new Scanner(System.in);
while (sc.hasNextInt()){
    int i = sc.nextInt();

    //... do stuff with i ...
}

Le problème est, comment puis-je arrêter en arrivant sur une nouvelle ligne (tout en gardant le facile-à-lire le code ci-dessus)? L'ajout d'un !hasNextLine() à l'argument ci-dessus fait quitter la boucle instantanément. Une solution pourrait être la lecture de l'ensemble de la ligne et d'analyser les chiffres, mais je pense un peu ruines de la fin de la hasNextInt() la méthode.

donc si il y a des nombres sur une ligne différente vous n'avez pas envie de les lire?
Exactement, car il n'y a pas d'autre moyen pour arrêter la lecture de l'entrée (autant que je sache) que d'avoir le type d'utilisateur autre chose qu'un nombre, ce qui me semble de moins en moins convivial (edit: ce Qui signifie, je pense, entrez serait la façon la plus intuitive pour arrêter la lecture de la séquence).

OriginalL'auteur Snail | 2011-02-21