public static int evalRPN(String[] tokens) {
		Stack<String> stack = new Stack<String>();
		for (int i = 0; i < tokens.length; i++) {
			int num1 = 0;
			int num2 = 0;
			if (tokens[i].equals("+")) {
				num1 = Integer.parseInt(stack.pop());
				num2 = Integer.parseInt(stack.pop());
				stack.push(String.valueOf(num2 + num1));
			} else if (tokens[i].equals("-")) {
				num1 = Integer.parseInt(stack.pop());
				num2 = Integer.parseInt(stack.pop());
				stack.push(String.valueOf(num2 - num1));
			} else if (tokens[i].equals("*")) {
				num1 = Integer.parseInt(stack.pop());
				num2 = Integer.parseInt(stack.pop());
				stack.push(String.valueOf(num2 * num1));
			} else if (tokens[i].equals("/")) {
				num1 = Integer.parseInt(stack.pop());
				num2 = Integer.parseInt(stack.pop());
				stack.push(String.valueOf(num2 / num1));
			} else {
				stack.push(tokens[i]);
			}
		}

		return Integer.parseInt(stack.pop());
	}