Ich bin neuer Java Student. Vielleicht verstehe ich nicht, wie try/catch wirklich funktioniert. Ich mache ein Java-Klassenspiel, den Henker. Und ich mache eine Methode, die die Anzahl der Spieler zurückgibt. Ich habe einen anderen Code, der perfekt funktioniert. Nur wenn ich Buchstaben und keine Int vorstelle, stürzt es ab. Ich habe versucht, dies zu machen. Ich hoffe du verstehst mich.Versuchen Catch With Loop Java
0
A
Antwort
0
Das Problem ist, wenn jemand Buchstaben eingibt, wird die Ausnahme tatsächlich geworfen, und Sie werden es fangen. Diese Zeichen werden jedoch nicht aus der Eingabe entfernt. Wenn Sie also das nächste Mal versuchen, die Eingabe zu lesen, haben Sie immer noch Zeichen, und die Ausnahme wird erneut ausgelöst.
Hinzufügen einer sc.nextLine(); im Catch-Block, um die schlechte Datenzeile aufzufressen.
0
Das Problem hier ist
nextInt(): Scannt das nächste Token des Eingangs als int
Wenn Sie Zeichen eingeben es Ausnahme auslöst und geht Block und das Programm stürzt ab zu fangen .
Verwenden Sie den folgenden Code
public static int setNumJugadores() {
Scanner sc = new Scanner(System.in);
String numJugador=null;
System.out.println("Introduzca el número de jugadores a jugar: ");
// VARIABLES PARA EL TRY CATCH
boolean bError=false;
boolean mayorQueCero=false;
do {
try{
numJugador = sc.nextLine();
}
catch (Exception e){
bError=true;
numJugador = null;
System.out.println("Error, introduzca un numero entero.");
}
if (numJugador == null) {
System.out.println("ERROR, introduzca un valor valido mayor de 0");
}
else{
mayorQueCero=true;
}
} while ((!mayorQueCero)||(!bError));
return numJugador;
}
nextline(): Advances diesen Scanner über die aktuelle Zeile und gibt die Eingabe, die übersprungen wurde.
Einzelheiten siehe Scanner Java Doc.
Verwandte Themen
- 1. JAVA: Ausführen Catch nicht versuchen
- 2. Java FileReader versuchen Catch-Platzierung
- 3. Simplify code with loop
- 4. Versuchen Catch keine Fehlererklärung
- 5. Wie Catch Versuchen in symfony
- 6. Nesting Do Loop und Try Catch
- 7. WITH-Anweisung in Java
- 8. Disposables, Verwenden und Versuchen/Catch Blocks
- 9. Versuchen Catch auf ausführbare Exe in Powershell?
- 10. MySQLi, PHP - versuchen {....} catch (...) {....} funktioniert nicht
- 11. intellij idee concise einfache versuchen catch Blöcke
- 12. Warum versuchen .. Catch-Blöcke Klammern benötigen?
- 13. Versuchen Sie mit Ressourcen vs Try-Catch
- 14. Laravel läuft nicht versuchen catch Block
- 15. Textscan - Catch Fehler und etwas anderes versuchen
- 16. Variable Umfang und versuchen Catch in Python
- 17. Java try/catch Methode
- 18. Java for loop [methode]
- 19. Repetitive Try-Catch-Blöcke mit Groovy 'with' Closure?
- 20. Java: Versuch-Catch-Continue?
- 21. Java - Catch alle Stacktraces
- 22. Simulieren Python mit With-Anweisung in Java
- 23. VBA Excel erkennt immer versteckte Zeilen und Spalten in With x End With loop?
- 24. VBA - Loop, Catch Fehler, Variable zuweisen und Looping fortsetzen?
- 25. SQL Server Select With Loop auf der zweiten Tabelle
- 26. for loop with print im funktionalen Programmierstil python
- 27. Keine Beiträge in foreach loop with while gefunden
- 28. Java Try-With-Resources Unbekannte Ressource Count
- 29. Versuchen/fangen in Java
- 30. Java Loop Error
Danke, ich habe noch ein paar Korrekturen vorgenommen und nun funktioniert es perfekt. Darf ich den vollständigen Code des Spiels teilen? – LaGallinaTuruleta