Fehlerausgabe bei falscher Eingabe der Users

Nico123

Mitglied
Hallo zusammen.

Ich möchte, dass, wenn der User bei der Eingabe keine Zahl angibt, ein Fehlercode angezeigt wird.
Kann mir jemand helfen?

Danke!

Hier der Code:

import java.util.*;
import java.util.Scanner;


class Fibonacci
{
static int fib(int n)
{
if (n <= 1)
return n;
return fib(n-1) + fib(n-2);
}

public static void main (String args[])
{
Scanner eingabe = new Scanner(System.in);
while (true)
{
System.out.println(" ");
System.out.println("------------------------Fibonacci-Reihe----------------------------------- ");
System.out.print("Bitte geben Sie die Stelle an, die Sie ausgegeben haben möchten: ");
int s = eingabe.nextInt();
eingabe.nextLine();

int n = s;
System.out.println("--------------------------------------------------------------------------- ");
System.out.println("Die " + s + ". Stelle der Fibonacci-Reihe entspricht der Zahl: " + fib(n));

System.out.println("--------------------------------------------------------------------------- ");
System.out.println("B -------> Programm beenden.");
System.out.println("Enter ---> Programm neu starten.");
System.out.print("Was möchten Sie tun? ");
if ("b".equalsIgnoreCase(eingabe.nextLine())) return;
}
}
}
 
Du hast mehrere Möglichkeiten:
a) Proaktive Prüfung:
Du lässt den Nutzer irgendwas eingeben (Also nur ein String userEingabe=eingabe.nextLine()😉 um dann zu prüfen, was der Benutzer eingegeben hat. Hier könnte man z.B. mit regulären Ausdrücken arbeiten - ein Ausdruck wie ^[0-9]*$ prüft, ob nur Ziffern eingegeben wurden. (http://regex101.com ist hilfreich, um mit regulären Ausdrücken herum zu spielen und man kann sich auch Code generieren lassen!)
So die Eingabe gültig war, parst Du die Eingabe zu einer Zahl.

b) Reaktion auf Exceptions:
Du kannst den Code auch prinzipiell so lassen. Du hast also ein eingabe.nextInt(). Gibt der Benutzer keine Zahl ein, dann wird eine InputMismatchException geworfen. Diese musst Du abfangen um dann darauf entsprechend zu reagieren.
 
Du hast mehrere Möglichkeiten:
a) Proaktive Prüfung:
Du lässt den Nutzer irgendwas eingeben (Also nur ein String userEingabe=eingabe.nextLine()😉 um dann zu prüfen, was der Benutzer eingegeben hat. Hier könnte man z.B. mit regulären Ausdrücken arbeiten - ein Ausdruck wie ^[0-9]*$ prüft, ob nur Ziffern eingegeben wurden. (http://regex101.com ist hilfreich, um mit regulären Ausdrücken herum zu spielen und man kann sich auch Code generieren lassen!)
So die Eingabe gültig war, parst Du die Eingabe zu einer Zahl.

b) Reaktion auf Exceptions:
Du kannst den Code auch prinzipiell so lassen. Du hast also ein eingabe.nextInt(). Gibt der Benutzer keine Zahl ein, dann wird eine InputMismatchException geworfen. Diese musst Du abfangen um dann darauf entsprechend zu reagieren.
Wie fange ich diese InputMismatchExeption ab? Bzw. wie setze ich das um?
 
Du hast mehrere Möglichkeiten:
a) Proaktive Prüfung:
Du lässt den Nutzer irgendwas eingeben (Also nur ein String userEingabe=eingabe.nextLine()😉 um dann zu prüfen, was der Benutzer eingegeben hat. Hier könnte man z.B. mit regulären Ausdrücken arbeiten - ein Ausdruck wie ^[0-9]*$ prüft, ob nur Ziffern eingegeben wurden. (http://regex101.com ist hilfreich, um mit regulären Ausdrücken herum zu spielen und man kann sich auch Code generieren lassen!)
So die Eingabe gültig war, parst Du die Eingabe zu einer Zahl.

b) Reaktion auf Exceptions:
Du kannst den Code auch prinzipiell so lassen. Du hast also ein eingabe.nextInt(). Gibt der Benutzer keine Zahl ein, dann wird eine InputMismatchException geworfen. Diese musst Du abfangen um dann darauf entsprechend zu reagieren.
Habs geschafft! Danke!
 

Neue Themen


Zurück
Oben