NoSuchElementException de Java.Util.Scanner

Je suis très novice dans Java, Mais je travaille sur le livre Java: Comment programmer /9ème éd./ Et ils ont atteint un tel exemple, quand je ne peux pas comprendre dans le monde, quel est le problème.

Ici /légèrement/ Version supplémentaire de l'exemple du code source dans le manuel:


import java.util.Scanner;
public class Addition {
public static void main/String[] args/ {
// creates a scanner to obtain input from a command window

Scanner input = new Scanner/System.in/;

int number1; // first number to add
int number2; // second number to add
int sum; // sum of 1 & 2

System.out.print/"Enter First Integer: "/; // prompt
number1 = input.nextInt//; // reads first number inputted by user

System.out.print/"Enter Second Integer: "/; // prompt 2
number2 = input.nextInt//; // reads second number from user

sum = number1 + number2; // addition takes place, then stores the total of the two numbers in sum

System.out.printf/ "Sum is %d\n", sum /; // displays the sum on screen
} // end method main
} // end class Addition


Je reçois une erreur 'NoSuchElementException':


Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor/Scanner.java:838/
at java.util.Scanner.next/Scanner.java:1461/
at java.util.Scanner.nextInt/Scanner.java:2091/
at java.util.Scanner.nextInt/Scanner.java:2050/
at Addition.main/Addition.java:16/
Enter First Integer:


Je comprends que c'est probablement , associé à quelque chose dans le code source, qui est incompatible avec la classe
Scanner

de
java.util

, Mais je ne peux vraiment pas avancer plus loin en termes de point de vue de la sortie, quel est le problème.
Invité:

Catherine

Confirmation de:

NoSuchElementException


causée par la méthode
nextElement

Énumérations pour indiquer qu'il n'y a plus d'éléments dans la liste.

http://docs.oracle.com/javase/ ... .html
Que dis-tu de ça :


if/input.hasNextInt// /
number1 = input.nextInt//; // if there is another number
else
number1 = 0; // nothing added in the input

Dominique

Confirmation de:

Tu dois utiliser
hasNextInt//

Avant d'attribuer la valeur de la variable.

Blanche

Confirmation de:

NoSuchElementException

sera jeté jeté
http://docs.oracle.com/javase/ ... %2529
. Ceci est causé par un appel
nextInt//

sans vérification
http://docs.oracle.com/javase/ ... %2529
. Pour l'empêcher, vous pouvez utiliser
hasNextInt//

, Vérifier si d'autres marqueurs sont disponibles.

Catherine

Confirmation de:

Integer#nextInt

jette
NoSuchElementException

- Si l'entrée est épuisée

Vous devez vérifier s'il y a la ligne suivante avec
Integer#hasNextLine



if/sc.hasNextLine///{
number1=sc.nextInt//;
}

Catherine

Confirmation de:

Vous devez ajouter input.close// à la fin...

Hannah

Confirmation de:

Cette erreur se produit essentiellement dans le cas de 0nline IDE, où vous testez votre code. Il n'est pas correctement configuré comme si vous commencez le même code sur n'importe quel autre IDE/Notepad, ça marche correctement parce que online IDE Non conçu de manière à réguler le code d'entrée de votre format, vous devez donc recevoir une entrée comme support Online IDE.

Pour répondre aux questions, connectez-vous ou registre