Java: comment lire une entrée de type int
Donc, je cherchais un moyen efficace, à l'aide de Java standard de paquets, pour lire une entrée de type entier... Par exemple, je suis tombé sur la classe "Scanner", mais j'ai trouvé deux difficultés principales:
- si je ne l'insérez pas un int, je ne suis pas en mesure de résoudre l'exception;
- cette classe fonctionne avec des jetons, mais mon but est de charger la chaîne dans son intégralité.
C'est un exemple de l'exécution je voudrais réaliser:
Integer: eight
Input error - Invalid value for an int.
Reinsert: 8 secondtoken
Input error - Invalid value for an int.
Reinsert: 8
8 + 7 = 15
Et c'est la (mauvaise) code que j'ai essayé de mettre en œuvre:
import java.util.Scanner;
import java.util.InputMismatchException;
class ReadInt{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
boolean check;
int i = 0;
System.out.print("Integer: ");
do{
check = true;
try{
i = in.nextInt();
} catch (InputMismatchException e){
System.err.println("Input error - Invalid value for an int.");
System.out.print("Reinsert: ");
check = false;
}
} while (!check);
System.out.print(i + " + 7 = " + (i+7));
}
}
- Pouvez-vous préciser ce que vous entendez par
if I don't insert an int, I'm not actually able to solve the exception
?
Vous devez vous connecter pour publier un commentaire.
Utiliser un BufferedReader. Vérifier NumberFormatException. Sinon, très similaire à ce que vous avez. Comme si ...
À utiliser avec des jetons:
Alors que vous pourriez faire:
Que le code ci-dessus fonctionne avec des jetons.