-
Notifications
You must be signed in to change notification settings - Fork 1
/
java code
49 lines (40 loc) · 1.81 KB
/
java code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// Inside the solveEquation method
public static String solveEquation(String equation) {
String[] terms = equation.split(" = ");
String leftSide = terms[0];
String rightSide = terms[1];
leftSide = leftSide.replace("X", rightSide);
leftSide = evaluateOperation(leftSide, "LS-");
leftSide = evaluateOperation(leftSide, "RS-");
leftSide = evaluateOperation(leftSide, "LC-");
leftSide = evaluateOperation(leftSide, "RC-");
leftSide = evaluateOperation(leftSide, "NT");
leftSide = evaluateOperation(leftSide, "*");
leftSide = evaluateOperation(leftSide, "+");
leftSide = evaluateOperation(leftSide, "@");
return leftSide;
}
public static String solveEquation(String equation) {
String[] terms = equation.split(" = ");
String leftSide = terms[0];
String rightSide = terms[1];
leftSide = leftSide.replace("X", rightSide);
leftSide = evaluateOperation(leftSide, "LS-");
leftSide = evaluateOperation(leftSide, "RS-");
leftSide = evaluateOperation(leftSide, "LC-");
leftSide = evaluateOperation(leftSide, "RC-");
leftSide = evaluateOperation(leftSide, "NT");
leftSide = evaluateOperation(leftSide, "*");
leftSide = evaluateOperation(leftSide, "+");
leftSide = evaluateOperation(leftSide, "@");
return leftSide;
}
public static String evaluateOperation(String expression, String operation) {
while (expression.contains(operation)) {
int startIndex = expression.indexOf(operation);
int endIndex = startIndex + operation.length();
int paramStartIndex = endIndex;
int paramEndIndex = expression.indexOf(" ", paramStartIndex);
if (paramEndIndex == -1) {
paramEndIndex = expression.length();
}