Hallo,
folgendes Programm soll überprüfen, ob die eingebene Zahl eine 1 ist. Falls nicht, es sich aber trotzdem um eine Zahl handelt, soll eine Meldung mit "Das war keine1!" auftreten.
Falls jedoch ein String oder ähnliches eingegeben wurde, soll die Meldung
eingabe +" ist ungültig"
ausgegeben werden.
Soweit so gut. Doch leider springt er immer im else Teil so wie es für mich aussieht in die catch-Anweisung. D.h., wenn man z.B. 2 eingibt, wird die Meldung eingabe +" ist ungültig" geworfen.
Kann man nur eine IllegalArgumentException verwenden?
folgendes Programm soll überprüfen, ob die eingebene Zahl eine 1 ist. Falls nicht, es sich aber trotzdem um eine Zahl handelt, soll eine Meldung mit "Das war keine1!" auftreten.
Falls jedoch ein String oder ähnliches eingegeben wurde, soll die Meldung
eingabe +" ist ungültig"
ausgegeben werden.
Soweit so gut. Doch leider springt er immer im else Teil so wie es für mich aussieht in die catch-Anweisung. D.h., wenn man z.B. 2 eingibt, wird die Meldung eingabe +" ist ungültig" geworfen.
Kann man nur eine IllegalArgumentException verwenden?
Java:
public static void main(String[] args) {
// TODO Auto-generated method stub
String eingabe = Eingabe.readString("Bitte 1 eingeben: ");
try
{
int StringzuInt = Integer.parseInt(eingabe);
if(StringzuInt%10==1)
System.out.println("Sie haben 1 eingegeben!");
else
throw new IllegalArgumentException("Das war keine 1!");
}
catch (IllegalArgumentException e)
{
System.out.println(eingabe + " ist ungültig.");
}
}
}