-
Notifications
You must be signed in to change notification settings - Fork 906
Expand file tree
/
Copy pathStringCalculator.java
More file actions
48 lines (34 loc) · 1.02 KB
/
StringCalculator.java
File metadata and controls
48 lines (34 loc) · 1.02 KB
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
package study;
public class StringCalculator {
public StringCalculator(){
}
public String[] split(String s){
return s.split(" ");
}
public int calculate(String[] strings){
int[] nums = new int[strings.length/2 + 1];
String[] oper = new String[strings.length/2];
int numsI = 0;
int operI = 0;
for(String s : strings){
if(s.equals("+") || s.equals("-") || s.equals("*") || s.equals("/")){
oper[operI++] = s;
}else{
nums[numsI++] = Integer.parseInt(s);
}
}
int sum = nums[0];
for(int i = 1 ; i < nums.length ; i++){
if(oper[i-1].equals("+")){
sum += nums[i];
}else if(oper[i-1].equals("-")){
sum -= nums[i];
}else if(oper[i-1].equals("*")){
sum *= nums[i];
}else if(oper[i-1].equals("/")){
sum /= nums[i];
}
}
return sum;
}
}