summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/de/fhswf/in/inf/java1/aufgabe11/UPN.java76
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.
*