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:

  1. si je ne l'insérez pas un int, je ne suis pas en mesure de résoudre l'exception;
  2. 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?
InformationsquelleAutor Marco | 2013-01-10