vezbanje 5ta
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class ExpressionEvaluator {
public static int evaluateExpression(String expression){
int value = 0;
int currentNumber = 0;
char operation = '+';
Stack<Integer> stack = new Stack<>();
for(int i = 0; i<expression.length(); i++){
char ch = expression.charAt(i);
if(Character.isDigit(ch)){
currentNumber = 10*currentNumber + (ch-'0');
}
if((!Character.isDigit(ch) && ch != ' ') || i == expression.length()-1){
if(operation=='+'){
stack.push(currentNumber);
}
else if(operation=='*'){
stack.push(stack.pop()*currentNumber);
}
if(i<expression.length()-1){
operation = ch;
}
currentNumber = 0;
}
}
while(!stack.isEmpty()){
value += stack.pop();
}
return value;
}
public static void main(String[] args) throws IOException {
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
System.out.println(evaluateExpression(input.readLine()));
}
}Editor is loading...
Leave a Comment