[от JDK 8u40]. Но по умолчанию флаг этой командной строки был установлен в false (и по-прежнему false) в jdk 8u. В jdk 9 оптимистичные типы по умолчанию имеют значение true.

аюсь создать метод, который принимает строковую формулу и решает интеграл этой формулы, выполняя сумму Римана с очень маленькими интервалами. Я использую классы ScriptEngine и ScriptEngineManager для оценки функции (с помощью метода eval ()). По какой-то причине я получаю эту ошибку:

Исключение в потоке "основной"

import java.beans.Expression;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class sum {

    //testing method
    public static void main(String[] args) throws ScriptException {

        double x = integral("5*x^2",0,5);
        System.out.println(x);

    }

    public static double integral(String function, double lower, double upper) throws ScriptException
    {
        double total = 0;

        ScriptEngineManager mgr = new ScriptEngineManager();
        ScriptEngine engine = mgr.getEngineByName("JavaScript");

        //Solves function from upper to lower with a .001 interval, adding it to the total.
        for (double i = lower; i < upper; i+=.001)
        {
            //evaluates the interval
            engine.put("x",i);
            total += (double)engine.eval(function);
        }

        return total;
    }

}

Ответы на вопрос(2)

Ваш ответ на вопрос