2011-06-23 6 views
2

В моей программе есть различные уравнения, такие как x = y + z.Java-код для решения динамического уравнения с одним неизвестным

Когда пользователь имеет вход все, кроме одного из уравнения-переменных, я хочу, чтобы моя программа вычислить неизвестную:

y=5 and z=2 входы пользователя ->unknown x = 5 + 2 = 7

входы пользователей x=1 and y=3 ->unknown z = 1 - 3 = -2

У меня есть много уравнений и вы хотите, чтобы не было необходимости вручную изолировать каждый variabel ... надеюсь, что вы поймете.

Я пробовал как JEP, так и JScience, оба без везения.

+0

Итак, будут n переменных, с указанием n-1? Какие математические операторы допускаются в вашей среде? (+ и -, очевидно, любые другие?). Разрешены ли заключенные в скобки выражения? –

+0

Кроме того, будет ли каждая переменная отображаться только после объединения уравнения? Будет ли только первое уравнение иметь несколько переменных, а остальные - просто простые назначения, такие как «y = 10»? –

+0

Да n переменных, с указанием n-1. Операторы включают в себя +, -, *, /,^2, sqrt. Да каждая переменная появится только один раз. Пользователю предлагается ввести вход, когда имеется достаточное количество входов (которое равно n-1), программа может вычислить неизвестное. В зависимости от того, какие переменные выбирает пользователь, уравнение может быть, например. «10 = x + 20» или «10 = 5 + y» или z = 0,24 + 5,24 ... –

ответ

0

Как насчет JbcParser? Это коммерческий с небольшими затратами, поэтому я не знаю, отстраняет ли это от рассмотрения. Это относится к тому же классу парсеров, который вы изучаете. У них есть онлайн-демоверсия, с которой вы можете поиграть, по крайней мере, чтобы увидеть, соответствует ли она вашим потребностям.