Pergunta

Como avaliar a expressão matemática da string no J2ME.

Por exemplo, uma sequência contendo "2*4". Da string que eu quero avaliar a expressão matemática e obter o resultado como 8 (2*4) .Como devo fazer isso no j2me.

Em "Java ™ Platform Standard ed. 6" Existe um pacote, a saber, "javax.script" é usado para avaliar expressões matemáticas de String. como qualquer pacote ou qualquer classe está disponível para J2Me avaliar a expressão matemática da string.

Foi útil?

Solução 2

A seguir, as etapas são usadas para avaliar a expressão matemática da string no J2ME

  1. Leia a expressão em uma variável de string. Aqui a expressão está na forma de infix.
  2. Converta a expressão na variável String em um formulário Postfix e armazene -a em outra variável de string, a saber "Postfix_str".
  3. Avalie a expressão no formulário Postfix (o valor nos dados "postfix_str") usando a pilha.

Outras dicas

Se você precisar lidar com expressões aninhadas, escreva seu próprio analisador baseado em pilha.

Se você não está familiarizado com o algoritmo, usa duas pilhas, uma para manter os operadores e outro para manter operandos.

Para o caso básico, você analisa todos os operadores e operandos em suas respectivas pilhas, avalia a retirada de dois operandos e um operador, executando o cálculo armazenando o resultado de volta na pilha de operando. Continue até que a pilha do operador esteja vazia e a pilha de operando tenha apenas um valor (o resultado). Se você ficar sem operadores e houver mais de um resultado na sua pilha, haverá um erro na expressão.

Para lidar com parênteses (incluindo parênteses aninhados), você inclui operadores para as parens esquerda e direita. Ao analisar a expressão se você encontrar um paren direito, comece a avaliar a expressão imediatamente (estourando dois operandos e um operador, colocando o resultado de volta na pilha de operando) até encontrar um paren esquerdo. Em seguida, retome a análise da expressão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top