Esempio n. 1
0
  public int calculate(String expr) {
    numbers.clear();
    operators.clear();
    expr = expr.replaceAll("\\s+", "");
    System.out.println(expr);
    String[] parts = expr.split("((?=(\\+|\\-|\\*|\\/|\\(|\\)))|(?<=(\\+|\\-|\\*|\\/|\\(|\\))))");

    for (String part : parts) {
      System.out.print("[" + part + "]");
    }
    for (String part : parts) {
      if (part.length() == 0) {
        continue;
      }
      put(part);
    }
    while (operators.size() > 0) {
      reduce();
    }
    return numbers.get(0);
  }