import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.util.Scanner;
public class verfuncion{
public static void main(String[] args) {
Scanner input = new Scanner (System.in);
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
String funcion;
int a,b;
int[][] i=new int [4][4];
for(a=0;a<4;a++){
for(b=0;b<4;b++){
try {
System.out.println("Introduce la funcion:");
funcion=input.next();
Object result = engine.eval(funcion);
System.out.println(funcion+" = "+result);
i[a][b] = (int) result;
}
catch(ScriptException se) {
System.out.println(se);
}
}
}
for(a=0;a<4;a++){/*Empieza ciclio para imprimir*/
for(b=0;b<4;b++){
System.out.printf("%d",i[a][b]);
}
System.out.printf("\n");
}/*Termina ciclo de impresion*/
}
}
Este es mi código, al correrlo puedo escribir una función y me la realiza por ejemplo
(3+4+2)*(3)
y me dará el resultado "27"
Pero lo que necesito es que al escribir por ejemplo (a+b*4) donde "a" y "b" son unas variables también me las haga validas como números que almacena notaran que esas dos variables son las que manejan el ciclo, alguien podría ayudarme? es urgente :(