2017-01-23 39 views
-5

Я пытаюсь понять, как разбирать строку ввода, содержащую математическое уравнение, заданное пользователем как 2x^2+3x+6, двойнику, которое управляет String со своими переменными, которые я буду определять позже с циклом for.Преобразование строки в математическое уравнение?

В основном,

for(x=0;x<=100;x++){ 
    String equation = "2x^2+3x+6"; 
    double y = equation; 
    System.out.println("Your point is x: " + x +" | Y: " + y); 
} 

Я нашел this old post но BeanSheel библиотеки только позволило мне использовать фактические номера без параметров, как "x".

Так что я пытаюсь достичь, это программа, которая будет нарисовать функцию, заданную пользователем. Но для части чертежа я в порядке

+1

Ответ будет зависеть от языка, который вы не указали. –

+0

Извините, я новичок в публикации вопросов, это java, как я могу указать его в сообщении? Спасибо –

+0

, мы пытаемся решить эту проблему на нашем курсе 'compiler', мы составили таблицу синтаксиса из возможных правил, затем прочитаем наш входной файл и попытаемся сгенерировать коды, которые относятся к нашему математическому уравнению –

ответ

0

Вы можете заменить каждое вхождение x в строке уравнения строковым представлением x; то вы можете использовать сообщение, с которым вы связались, для его оценки.

+0

Извините, у меня есть вопрос, для этой проблемы есть два решения: 1- использование метода 'replace' 2- 'split' и перестроить String с помощью Stringbuilder, какой из них эффективен? –

+0

Попробуйте оба и посмотрите. Я буду беспокоиться о том, чтобы он работал первым. –