Expressoes logicas

3 respostas
R

Estou tentando fazer um programa que me de o resultado de uma expressao logica simples ( utiliza somente e, ou, not e xor ) mas estou tendo dificuldade em comparar um caractere da string com um previamente definido…

Eu consigo entrar com a expressao e armazená-la, mas quando tento comparar não consigo.

gostaria de uma dica de como posso fazer isso??

3 Respostas

R

você tentou usar o método variavel.equals(string)

R

Na verdade eu tenho uma string:

String expressao = “~q.p.q+p”

onde eu quero pegar cada caracter, ver se é operador ou variável e, dependendo do que for, ir armazenando o resultado da expressão em uma outra string, até que todo os caracteres sejam vistos e eu tenha o resultado.

eu tentei mais o menos assim:

primeiro declarei alguns char para poder fazer a comparação:

char n = ‘~’;

char e = ‘.’;

char o = ‘+’;

char x = ‘^’;

char p = ‘p’;

char q = ‘q’;

for (int i = 0; i < expressao.lenght(i); i++)

se ( expressao.charAt(i) == n )

resultado = resultado + !;

se ( expressao.charAt(i) == e )

resultado = resultado + &amp;&amp;;

e assim até o fim… só que não dá certo…

gostaria de uma opnião de como posso fazer para ele ver que coisa é e baseado nisso, calcular a expressão.

I

Está meio dificil entender a sua dúvida.
No caso essa sua expressão lógica, seria como uma
tabela verdade em lógica:
p (verd.) && q (verd.) == true;
p (fals.) || q (verd.) == true.
E o que você quer é pegar uma expressão lógica
e verificar se é verdadeira ou falsa?

A sua comparação parece estar correta…
Porém:

<blockquote>resultado = resultado + &&;

resultado = resultado + !; </blockquote>

O que você quis dizer com isso?

Nunca vi algo desse tipo, talvez não funcione.

Mas também não posso afirmar sem testar…

Vou tentar fazer alguma coisa aqui, e depois

posto se achar a solução.
Criado 1 de julho de 2006
Ultima resposta 4 de jul. de 2006
Respostas 3
Participantes 3