Нахождение определённых интегралов — это очень и очень непростая задача. Общего решения у этой задачи (в отличие от дифференцирования) нет, потому используется по сути множество различных приближений и эвристик, которые вместе обзываются алгоритмом Риша. Обычно это умеют делать достаточно тяжеловесные пакеты вроде матлаба. К счастью, есть бесплатная Maxima. Но там C++ или Java не пахнет, ибо с их помощью очень и очень сложно написать систему символьной алгебры. Так что придётся или возиться с Lisp'ом, или поднять Maxima как сервер и наладить с ним общение по TCP/IP.