diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-01-06 11:42:26 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2015-01-06 11:42:26 +0100 |
| commit | 44d4f449ee2b072ec62618d6e1cfa2bd419c4f77 (patch) | |
| tree | ba7ae3af173270eb336b10226e440594d102fc44 /src/de/fhswf/in | |
| parent | 9361cb23a1ab1744e13d480274ecb586b9610139 (diff) | |
| download | Java1-44d4f449ee2b072ec62618d6e1cfa2bd419c4f77.tar.gz Java1-44d4f449ee2b072ec62618d6e1cfa2bd419c4f77.zip | |
Assignment No.11 fixed an empty string problem
Diffstat (limited to 'src/de/fhswf/in')
| -rw-r--r-- | src/de/fhswf/in/inf/java1/aufgabe11/UPN.java | 76 |
1 files changed, 40 insertions, 36 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe11/UPN.java b/src/de/fhswf/in/inf/java1/aufgabe11/UPN.java index f8938fc..893aa93 100644 --- a/src/de/fhswf/in/inf/java1/aufgabe11/UPN.java +++ b/src/de/fhswf/in/inf/java1/aufgabe11/UPN.java @@ -44,42 +44,46 @@ public class UPN for (String string : upnString.split("\\s+")) { - Double[] operands = null; - - switch (string) + if (!string.isEmpty()) { - case "+": - operands = fetch(); - upnStack.add(operands[0] + operands[1]); - break; - case "-": - operands = fetch(); - upnStack.add(operands[0] - operands[1]); - break; - case "*": - operands = fetch(); - upnStack.add(operands[0] * operands[1]); - break; - case "/": - divisorZero(); - operands = fetch(); - upnStack.add(operands[0] / operands[1]); - break; - case "%": - divisorZero(); - operands = fetch(); - upnStack.add(operands[0] % operands[1]); - break; - default: - try - { - upnStack.add(Double.valueOf(string)); - } - catch (NumberFormatException e) - { - throw new IllegalArgumentException("String: \"" + string - + "\" is not a valid operator nor a valid operand."); - } + Double[] operands = null; + + switch (string) + { + case "+": + operands = fetch(); + upnStack.add(operands[0] + operands[1]); + break; + case "-": + operands = fetch(); + upnStack.add(operands[0] - operands[1]); + break; + case "*": + operands = fetch(); + upnStack.add(operands[0] * operands[1]); + break; + case "/": + divisorZero(); + operands = fetch(); + upnStack.add(operands[0] / operands[1]); + break; + case "%": + divisorZero(); + operands = fetch(); + upnStack.add(operands[0] % operands[1]); + break; + default: + try + { + upnStack.add(Double.valueOf(string)); + } + catch (NumberFormatException e) + { + throw new IllegalArgumentException("String: \"" + string + + "\" is not a valid" + + " operator nor a valid operand."); + } + } } } } @@ -97,7 +101,7 @@ public class UPN } return upnStack.peek(); } - + /** * Checks if Divisor will be zero. * |
