示例#1
0
  public Function(String formula, ViewPort port, double step) {
    this.formula = formula;
    this.xmin = BigDecimal.valueOf(port.get_xmin());
    this.xmax = BigDecimal.valueOf(port.get_xmax());

    Parser parser = new Parser();
    BigDecimal run = xmin;
    while (run.compareTo(xmax) <= 0) {
      try {
        this.add_valuepair(run, parser.parse_x(formula, String.valueOf(run)));
        run = run.add(BigDecimal.valueOf(step));
      } catch (ArithmeticException e) {
        run = run.add(BigDecimal.valueOf(step));
        System.out.println(
            "Arithmetik Exception wahrscheinlich Division durch 0 übersprungen."
                + e.getMessage()
                + e.getLocalizedMessage());
        continue;
      }
    }
  }