aboutsummaryrefslogtreecommitdiff
path: root/src/TernarySolver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/TernarySolver.java')
-rw-r--r--src/TernarySolver.java47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/TernarySolver.java b/src/TernarySolver.java
new file mode 100644
index 0000000..dea09a5
--- /dev/null
+++ b/src/TernarySolver.java
@@ -0,0 +1,47 @@
+/* */ public class TernarySolver
+/* */ {
+/* */ public static String solve(String arg)
+/* */ throws Exception
+/* */ {
+/* 11 */ arg = arg.replaceAll("\\s+", "");
+/* 12 */ while (arg.contains("(")) {
+/* 13 */ String part = arg.substring(arg.lastIndexOf("(", arg.indexOf(")")) + 1, arg.indexOf(")"));
+/* 14 */ if (containsTernary(part))
+/* 15 */ arg = arg.substring(0, arg.lastIndexOf("(", arg.indexOf(")"))) + solve(part) + arg.substring(arg.indexOf(")") + 1);
+/* 16 */ else if (BooleanLogic.containsBoolean(part))
+/* 17 */ arg = arg.substring(0, arg.lastIndexOf("(", arg.indexOf(")"))) + BooleanLogic.solve(part) + arg.substring(arg.indexOf(")") + 1);
+/* */ else {
+/* 19 */ arg = arg.substring(0, arg.lastIndexOf("(", arg.indexOf(")"))) + Calculator.solve(part) + arg.substring(arg.indexOf(")") + 1);
+/* */ }
+/* */ }
+/* 22 */ if (!BooleanLogic.solve(arg.substring(2, arg.indexOf("then"))).equals("0")) {
+/* 23 */ return Calculator.solve(arg.substring(arg.indexOf("then") + 4, arg.indexOf("else")));
+/* */ }
+/* 25 */ return Calculator.solve(arg.substring(arg.indexOf("else") + 4));
+/* */ }
+/* */ public static String solveCP(String arg) throws Exception {
+/* 28 */ arg = arg.replaceAll("\\s+", "");
+/* 29 */ while (arg.contains("(")) {
+/* 30 */ String part = arg.substring(arg.lastIndexOf("(", arg.indexOf(")")) + 1, arg.indexOf(")"));
+/* 31 */ if (containsTernary(part))
+/* 32 */ arg = arg.substring(0, arg.lastIndexOf("(", arg.indexOf(")"))) + solve(part) + arg.substring(arg.indexOf(")") + 1);
+/* 33 */ else if (BooleanLogic.containsBoolean(part))
+/* 34 */ arg = arg.substring(0, arg.lastIndexOf("(", arg.indexOf(")"))) + BooleanLogic.solve(part) + arg.substring(arg.indexOf(")") + 1);
+/* */ else {
+/* 36 */ arg = arg.substring(0, arg.lastIndexOf("(", arg.indexOf(")"))) + Calculator.solve(part) + arg.substring(arg.indexOf(")") + 1);
+/* */ }
+/* */ }
+/* 39 */ if (!BooleanLogic.solve(arg.substring(2, arg.indexOf("then"))).equals("0")) {
+/* 40 */ return ControlPanel.figure(arg.substring(arg.indexOf("then") + 4, arg.indexOf("else")));
+/* */ }
+/* 42 */ return ControlPanel.figure(arg.substring(arg.indexOf("else") + 4));
+/* */ }
+/* */ public static boolean containsTernary(String x) {
+/* 45 */ return (x.contains("if")) && (x.contains("then")) && (x.contains("else"));
+/* */ }
+/* */ }
+
+/* Location: Modulus.jar
+ * Qualified Name: TernarySolver
+ * JD-Core Version: 0.6.2
+ */ \ No newline at end of file