Efetuar Cáculo

5 respostas
F

Olá,

Tenho que fazer um algoritmo, que faça cálculos com precedência, exemplo:

1+3*5 - teria que efetuar a multiplicação e depois a soma

1+(3*5) = 1+15 = 16…

No meu problema de trabalho tenho uma String com essa expressão:

String s = "1+2*3";

Ouvi falar que já existe esse algoritmo pronto alguém sabe onde procurar?

Se alguém puder me ajudar, desde já agradeço!

5 Respostas

keller

tipo…

1+3*5 = 16 {y}

16-1 = {x}

x+1 = {y}

sacou ? espero ter ajudado… :smiley:

*tais me devendo 5R$ :lol:

F

por exemplo…

se colocar

1+3*5/8 ele iria fazer 1+3 = 4 * 5 = 20 / 8 = 4

esse é o problema!!

pelo q entendi era só subtrair do primeiro???

T

acho que vc poe usa um StringTokenizer e ir avaliando a operacao, e colocar numa pilha (numeros e operacoes) … dai tu compara a prioridade da operacao e resolve …
a logica eu eskeci exatamente como eh … mas se vc quiser, tenho um programinha aki que le expressoes infixadas e resolve. …

F

se vc puder mandar ficarei grato…

[email removido]

T

acabei de mandar … mal pela demora .

Criado 5 de outubro de 2004
Ultima resposta 6 de out. de 2004
Respostas 5
Participantes 3