Ich habe versucht, 10 Integer-Eingabe von Benutzern zu bekommen. Außerdem möchte ich die Ausnahme behandeln, wenn Benutzer den falschen Datentyp eingeben (nicht Integer). Allerdings habe ich dieses Problem bei der Verwendung der for-Schleife & versuchen/fangen zusammen. Zum Beispiel, wenn ich String an der 4. Nummer eingeben. Ich würde dies als Ergebnis erhalten:Versuche/Catch Probleme bei der Verwendung For-Schleife in Java
Type 1. integer: 15
Type 2. integer: 152
Type 3. integer: 992
Type 4. integer: jj
Invalid number
Type 5. integer: Invalid number
Type 6. integer: Invalid number
Type 7. integer: Invalid number
Type 8. integer: Invalid number
Type 9. integer: Invalid number
Type 10. integer: Invalid number
Integers: [15, 152, 992]
Ich weiß nicht, wie Sie die Schleife erneut eingeben, nachdem die Ausnahme abgefangen wird.
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
Integer integer;
List<Integer> integerList = new ArrayList<Integer>();
for (int i = 1; i < 11; i ++) {
System.out.print("Type " + i + ". integer: ");
try {
integer = input.nextInt();
integerList.add(integer);
}
catch (InputMismatchException exc) {
System.out.println("Invalid number");
}
}
System.out.println("Integers: " + integerList);
}
Was genau ist das Problem mit dem Ausgang Sie auf dem Laufenden? Was ist die Frage? – EJP
Zunächst müssen Sie ein MCVE erstellen: http://StackOverflow.com/Help/Mcve Dann müssen Sie den Scanner-Puffer zurücksetzen: http://StackOverflow.com/Questions/10604125/How-Can-IClear-the -scanner-buffer-in-java Zuletzt müssen Sie 'i' zurücksetzen, damit Sie die gleiche Eingabe wiederholen können. –