diff --git a/Rechenmaschine.java b/Rechenmaschine.java index 3f11f72..de58662 100644 --- a/Rechenmaschine.java +++ b/Rechenmaschine.java @@ -177,7 +177,7 @@ public class Rechenmaschine { return false; } break; - + case 3: switch(buchstabe){ case '0': @@ -191,7 +191,26 @@ public class Rechenmaschine { case '8': case '9': currentToken += buchstabe; - state = 3; + state = 4; + break; + default: + fehler = "Fehler im Wort " +pEingabe+ ":\nNach einem Punkt darf nur eine Zahl folgen!"; + return false; + } + case 4: + switch(buchstabe){ + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + currentToken += buchstabe; + state = 4; break; case '+': tokenlist.append(new Token("OPERAND", currentToken)); @@ -243,13 +262,15 @@ public class Rechenmaschine { if( currentToken.getType().equals("OPERATOR") && currentToken.getToken().equals("/")){ state = 1; } + break; case 1: if(currentToken.getType().equals("OPERAND") && Double.parseDouble(currentToken.getToken()) == 0.0){ - fehler = "Durch 0 teilen ist verboten!"; + fehler ="Durch 0 teilen ist verboten!"; return false; }else { state = 0; } + break; } tokenlist.next(); }