JAVA - Texto para formula

Estou tentando desenvolver um programa básico onde o usuário digita um texto padronizado e o sistema transforma isto em uma formula.

Exemplo.:

Faça um programa onde possui 3 caixas de texto para o usuário digitar algum número e outra caixa para ele digitar a formula, com os dados apresentados o usuário executa o programa que retorna o resultado da conta.

Entrada:

D1 = 2
D2 = 3
D3 = 4
Fórmula = D1 * ( D2/D3)

Como posso criar um método para fazer esta separação?

vamos la

separação do que? se vc tem 3 caixas de texto para cada numero, e uma para a formula, ja esta tudo separado.

o que eu imagino é que vc quer resolver esta formula, por acaso, não?

existem algumas formas de faze-lo.

  1. vc cria um analisador sintatico recursivo descendente que entenda o que é essa formula e como resolve-la.

  2. vc pode usar a API de Scripting

http://docs.oracle.com/javase/7/docs/technotes/guides/scripting/programmer_guide/

exemplo


/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static void main (String[] args) throws java.lang.Exception{
	
    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine engine = mgr.getEngineByName("JavaScript");
    String variables = String.format("var D1 = %d, D2 = %d, D3 = %d;",2,3,4);
    String formula = "D1 * ( D2/D3)";
    String script = variables + formula;
    
    System.out.println("DEBUG: "  +script ); // mostra o que vai fazer. bem util
    
    System.out.println(engine.eval(script)); // imprime o valor que vc quer
	}
}

Veja o exemplo rodando aqui:

1 curtida

Vlw, ajudou muito!, consegui fazer utilizando sua resposta