Проблемы сложных математических классов Apache Commons в отношении оценок функцийJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблемы сложных математических классов Apache Commons в отношении оценок функций

Сообщение Anonymous »

У меня возникли проблемы с правильной оценкой моей сложной функции в этом классе, что привело к нескольким проблемам. Ниже приведен список проблем, которые необходимо решить, в порядке приоритетности:
1.) Немедленная оценка функций:
Я хочу ввести выражение, например abs(3+4i), и оно будет правильно вычисляться без необходимости нажимать на такие функции, как abs, conj, real или imag, после ввода уравнения. В настоящее время мне приходится набирать 3+4i, а затем нажимать на abs(чтобы оценить, что неудобно.
2.) Обработка отрицательных чисел и круглых скобок:
Код не работает с отрицательными начальными числами. Например, ввод -4+3i приводит к сбою кода, поскольку он не регистрирует отрицательный знак. Эта проблема также возникает с круглыми скобками, когда код не может вычислить правильный ответ, если в начале выражения есть скобка.
3.) Порядок действительных и мнимых чисел Части:

Мой код предполагает, что первым всегда идет действительное число, а затем мнимое. Он не сможет правильно оценить, если пользователь вводит уравнение в другом порядке, например 4i+3.
4.) Форматирование вывода:
Я хочу, чтобы выходные данные таких функций, как сопряженная или действительная, отображались в более удобном для пользователя формате. Например, conj(3+4i) должен выводить 3-4i вместо вывода моего текущего кода (3.0, -4.0). Кроме того, я хочу, чтобы функция угла возвращала правильный угол в градусах, а не в радианах. В идеале пользователи должны иметь возможность выбирать, представлять ли ответ в радианах или градусах.
Чтобы решить эти проблемы, я попытался переписать код, чтобы обрабатывать положения действительных и мнимых чисел. числа более гибко. Я также работал над изменением формата вывода, чтобы решить четвертую проблему, но это только привело к дальнейшим осложнениям. Кроме того, я попытался настроить код так, чтобы он игнорировал круглые скобки и знак минуса, но символ минуса вообще не распознается в выводе.
Для справки я приложил свой общий код. в GitHub Gist:
https://gist.github.com/AadiChoudhary01 ... 9013fff1bb
Вот Github Gist с минимальным воспроизводимым примером, который воспроизводит все проблемы, кроме проблемы 2. , который он воспроизводит частично.
https://gist.github.com/AadiChoudhary01 ... 0005c11d6a
Соответствующими классами для этой проблемы, скорее всего, будут класс Main_App_Screen, класс ImaginaryFunctions, и класс CalculatorFunctions.
Я был бы очень признателен за любую помощь в решении этих проблем.

Подробнее здесь: https://stackoverflow.com/questions/791 ... valuations
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»