Преобразовать строку в математическую функцию от x: f (x)?

Здравствуйте, я новичок в программировании под Android. Я работаю над графическим калькулятором, но у меня все еще проблема с преобразованием функции в математические

Например :

y=cos(x^2)-ln(x)

должен выглядеть

y=Math.cos(x*x) - Math.log(x)

И чем мы это строим.

Спасибо


person user3198094    schedule 15.01.2014    source источник
comment
Что именно вы здесь спрашиваете? stackoverflow.com/help/how-to-ask   -  person starsplusplus    schedule 15.01.2014
comment
still have the problem - в чем проблема? Пожалуйста, разместите свой код.   -  person Melquiades    schedule 15.01.2014


Ответы (1)


Я предполагаю, что вы хотите преобразовать String в float или double?

String input = "3.14";
float x = Float.parseFloat(input);

Этот код преобразует строку «3.14» в число с плавающей запятой. Вы можете использовать этот поплавок в функции, которую вы описали в вопросе.

РЕДАКТИРОВАТЬ: если вы хотите преобразовать полную строку функции в код Java, вы должны ограничить ввод кнопками. Например, добавьте кнопку с именем «Cos» и запомните в коде, что пользователь хочет использовать функцию Cosinus. Затем пользователь вводит значение и нажимает «Enter». Код знает, что он должен использовать функцию косинуса, а x - это значение, введенное в EditText. Это значение следует проанализировать с помощью Float.parseFloat ().

person fifarunnerr    schedule 15.01.2014
comment
Спасибо, я создаю для каждой функции кнопку, но моя проблема в том, как преобразовать строку в математическое выражение, содержащее x (double) - person user3198094; 15.01.2014
comment
Взгляните на код в моем ответе. Он преобразует строку 3.14 в число с плавающей запятой. Вы можете использовать это число в математическом выражении. - person fifarunnerr; 15.01.2014
comment
но моя строка может содержать cos (x) или ln (x + 1) ....... как мы можем ее преобразовать - person user3198094; 15.01.2014