Se trata de una aplicacion que tiene dos partes: una calculadora cientifica y una aplicacion que resuelve derivadas.
Me gustaria que me ayudasen con la parte que resuelve derivadas ya que me indican que hay un error al crear el objeto de la linia 40 pero nose como resolverlo.
Por otra parte me gustaria que me ayudasen a mejorar mi calculadora cientifica a que se parezca mas a una calculadora real.
Adjunto el codigo de la parte resuelve derivadas. Si desean ayudarme con la calculadora diganlo y adjunto tmbien el codigo de la calculadora.
Código:
Muchas gracias por adelantado al que me ayude. package com.example.calculadoraresuelvederivadas; import org.lsmp.djep.djep.DJep; import org.nfunk.jep.Node; import org.nfunk.jep.ParseException; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.example.calculadoraresuelvederivadas.R; public class Derivadas extends Activity implements OnClickListener{ TextView resultado,escribir; Button resolver; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.derivada); resultado = (TextView) findViewById(R.id.derivada); escribir = (TextView) findViewById(R.id.escribir); resolver = (Button) findViewById(R.id.resolver_derivada); resolver.setOnClickListener(new OnClickListener() { public void onClick(View v) { //creamos una string String derivar = ""; DJep derivada = new DJep(); (linea 40) //agregamos el orden de las operaciones derivada.setImplicitMul(true); //añadimos todas las reglas de las derivadas derivada.addStandardDiffRules(); //agregamos las constantes (e,pi) derivada.addStandardConstants(); //agregamos las funciones estadard (sin,cos,tan...) derivada.addStandardFunctions(); //agregamos los numeros complejos derivada.addComplex(); //nos permite que reconozca variables que no esten definidas(la hacemos true porque por defecto es false) derivada.setAllowUndeclared(true); derivada.setAllowAssignment(true); try{ //tenemos que crear nodos es decir para conectar las funciones creadas las unas con las otras //nos identifica la funcion Node principal = derivada.parse((String) escribir.getText()); //deriva la funcion respecto a x Node diferencia = derivada.differentiate(principal, "x"); //Simplificamos la funcion con respecto a x Node simplificar = derivada.simplify(diferencia); //convertimos el valor que emos simplificado en la string creada al principio para poder imprimirlo derivar = derivada.toString(simplificar); resultado.setText(derivar); //en el catch hacemos referencia al parse que hemos importado }catch(ParseException exception){ //este metodo nos ayuda a identificar qualquier error posible que haya en la aplicacion exception.printStackTrace(); } } }); } public void onClick(View v) { // TODO Auto-generated method stub } }