Skip to content

Commit 416d585

Browse files
Solve the Equation: Accepted
1 parent 34d28d7 commit 416d585

1 file changed

Lines changed: 13 additions & 11 deletions

File tree

‎problems/src/math/SolveTheEquation.java‎

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ private void solve(String s, boolean isLeft){
6363
char c = s.charAt(i);
6464
if(c == '-'){
6565
if(!num.isEmpty()){
66-
xSum = calculate(num, isNeg)[0];
67-
rest = calculate(num, isNeg)[1];
66+
xSum = calculate(num, isNeg, xSum, rest)[0];
67+
rest = calculate(num, isNeg, xSum, rest)[1];
6868
}
6969
isNeg = true;
7070
num = "";
7171
}else if(c == '+'){
7272
if(!num.isEmpty()){
73-
xSum = calculate(num, isNeg)[0];
74-
rest = calculate(num, isNeg)[1];
73+
xSum = calculate(num, isNeg, xSum, rest)[0];
74+
rest = calculate(num, isNeg, xSum, rest)[1];
7575
}
7676
isNeg = false;
7777
num = "";
@@ -80,8 +80,8 @@ private void solve(String s, boolean isLeft){
8080
}
8181
}
8282
if(!num.isEmpty()){
83-
xSum = calculate(num, isNeg)[0];
84-
rest = calculate(num, isNeg)[1];
83+
xSum = calculate(num, isNeg, xSum, rest)[0];
84+
rest = calculate(num, isNeg, xSum, rest)[1];
8585
}
8686
if(isLeft){
8787
xL = xSum;
@@ -92,23 +92,25 @@ private void solve(String s, boolean isLeft){
9292
}
9393
}
9494

95-
private int[] calculate(String num, boolean isNeg){
95+
private int[] calculate(String num, boolean isNeg, int xSum, int rest){
9696
int[] A = new int[2];
9797
if(num.contains("x")){
9898
num = num.substring(0, num.length() - 1);
9999
if(isNeg){
100-
A[0] -= num.isEmpty() ? 1 : Integer.parseInt(num);
100+
xSum -= num.isEmpty() ? 1 : Integer.parseInt(num);
101101
} else{
102-
A[0] += num.isEmpty() ? 1 : Integer.parseInt(num);
102+
xSum += num.isEmpty() ? 1 : Integer.parseInt(num);
103103
}
104104

105105
} else{
106106
if(isNeg){
107-
A[1] -= Integer.parseInt(num);
107+
rest -= Integer.parseInt(num);
108108
} else{
109-
A[1] += Integer.parseInt(num);
109+
rest += Integer.parseInt(num);
110110
}
111111
}
112+
A[0] = xSum;
113+
A[1] = rest;
112114
return A;
113115
}
114116

0 commit comments

Comments
 (0)