import java.util.*;
public class NGG {
static Scanner numberEntered;
static Scanner userInput = new Scanner(System.in);
static int guessedNumber;
static int randomNumber = (int) (Math.random()* 11);
static Scanner reply;
static String answer;
public static void main(String[] args) {
guessChecker(guessedNumber);
}
public static void guessChecker(int userGuess) {
while (userGuess != randomNumber) {
intro();
userGuess = intChecker();
if (userGuess == randomNumber) {
System.out.println("Congradulations!");
System.exit(0);
} else {
System.out.println("That was Incorrect!");
delay(1000);
retryChecker(reply, answer);
}
}
}
public static int intChecker() {
try {
return userInput.nextInt();
} catch (InputMismatchException e) {
userInput.next();
System.out.println("Your answer was Invalid!");
delay(2000);
retryChecker(reply, answer);
return 0;
}
}
public static void retryChecker(Scanner userReply, String userChoice) {
System.out.println("Would you like to try again?");
userReply = new Scanner(System.in);
userChoice = userReply.nextLine();
if (userChoice.equalsIgnoreCase("yes") || userChoice.equalsIgnoreCase("y")) {
guessChecker(guessedNumber);
} else {
System.exit(0);
}
}
public static void intro() {
System.out.println("I'm thinking of a number in my head...");
delay(1000);
System.out.print("Try to guess it: ");
}
public static void delay(int millis) {
try {
Thread.sleep(millis);
} catch (InterruptedException e) {}
}
}
und hier ist mein Problem:inputmismatch Ausnahme
ich eine Reihe Ratespiel, sagt jedes Mal, es „versuchen, es zu erraten:“ es wird in der Regel können Sie in einer Vermutung geben Wenn Sie nicht vorher eine Zeichenfolge, einen Buchstaben oder eine Zahl gefolgt von einem Leerzeichen gefolgt von einer anderen Zeichenkette, einem Buchstaben oder einer Zahl gewählt haben, wird Ihre Antwort einfach "Sie haben eine ungültige Antwort" ausgegeben das Programm.
Wie würde ich das beheben? so dass der userInput auch eine Zeichenfolge, ein Buchstabe oder eine Zahl sein kann, gefolgt von einem Leerzeichen und dann einer anderen Zeichenfolge, einem Buchstaben oder einer Zahl, und es wird normal mit dem Programm verschoben.
können Sie genauer –
Nun ^^ Das ist das Problem, aber 'static int guessedNumber', setzt 'guessedNumber' auf 0, und Sie aktualisieren diese Variable nie. –
können Sie mir zeigen, wie ich es in meinem Code beheben kann. Dies ist mein erstes Mal, ein Java-Programm zu machen und alles ist sehr verwirrend für mich –