@@ -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