Java integer input-Validierung

Ich versuche zum validieren von Benutzereingaben.Der Benutzer legt in der Y-Koordinate ein Brief zwischen (A-J) und x-Koordinate eine Zahl zwischen (1-9).Ich überprüfen kann, ob die y-Koordinate, aber ich habe Probleme bei der Validierung der x-Koordinate. Ich will es so, wenn der Benutzer legt in etwas anderes als eine Zahl zwischen 1 und 9 hält es den Benutzer auffordert, für die gültige Eingabe.

    do {
        //inner loop checks and validates user input
        do {

            System.out.println("Enter X Co-Ord (A-J), or Q to QUIT");
            letter = input.next().toUpperCase(); //upper case this for
                                                    //comparison
            if (letter.equals("Q"))
                break; //if user enters Q then quit

            String temp = "ABCDEFGHIJ";

            while (temp.indexOf(letter) == -1) {
                validString = false;
                System.out.println("Please enter a valid input");
                letter = input.next().toUpperCase();
                col = temp.indexOf(letter);

            }

            if (temp.indexOf(letter) != -1) {
                validString = true;
                col = temp.indexOf(letter);

            }
            try {

                System.out.println("Enter Y Co-Ord (0-9)");
                row = input.nextInt();


            } catch (InputMismatchException exception) {
                validInt = false;
                System.out.println("Please enter a number between 1 -9");
            }

            catch (Exception exception) {
                exception.printStackTrace();
            }

            valuesOK = false; //only set valuesOK when the two others are
                                //true
            if (validString && validInt) {
                valuesOK = true;
            }
        } while (!valuesOK); //end inner Do loop

Ausgabe:

Geben Sie die X-Co-Ord - (A-J), oder Q zum BEENDEN

d

Geben Sie Die Y-Co-Ord (0-9)

h

Bitte geben Sie eine Zahl zwischen 1 -9

Geben Sie die X-Co-Ord - (A-J), oder Q zum BEENDEN

Geben Sie Die Y-Co-Ord (0-9)

  • Sie werden wollen, richten Sie Ihren text; man sagt, 0-9, von dem man sagt, 1-9.
InformationsquelleAutor user1899672 | 2013-01-18
Schreibe einen Kommentar