SEPARADOR .spilit / [DÚVIDA]

12 respostas
felipehts

Quero pegar a expressão: (AuB)u(AuC) …e separar em partes, usando o “u” de fora do parênteses, de modo a ficar assim:

(AuB)
u
(AuC)

Já tentei usar .spilit e até o StringTokenizer, porém nenhum trouxe o resultado desejado, alguma ideia ???

vlw

12 Respostas

davidbuzatto

O problema é que você tem u’s dentro da expressão tbm.
O formato da sua expressão é fixo?

ViniGodoy

Você leu o material que te indiquei sobre notação infixa e posfixa? O princípio é o mesmo, você só está mudando os operadores.

felipehts

Sim, porém não consegui implementar no meu código, tipo já tenho métodos para calcular AuBuCu…etc, já até conheço o metodo pilha e talz… porém não conseguir implementar no meu código, já que se trata de conjuntos… por isso tentei usar um outro método…tentnado separar em partes…

luistiagos

tente usar pilhas… va empilhando todas as expreções dentro dos parenteses depois vai desempilhando e resolvendo elas (dai vc usa split ou tokenizer nos “u”) depois vc resolve oq esta fora dos parentes… não é complexo…

felipehts

Agradeço a todos… vou tentar usar mais uma vez o método pilha, pelo que parece é o único a solucionar meu problema…vlw

lina

Oi,

Trambique (em ultimo dos ultimos casos):

String
teste = "(AuB)u(AuC)";
teste = teste.replaceFirst("u","@").replaceFirst("u","-").replaceFirst("@","u");

String[]
novo_teste = teste.split("-");

:twisted:

Tchauzin!

felipehts
lina:
Oi,

Trambique (em ultimo dos ultimos casos):

String
teste = "(AuB)u(AuC)";
teste = teste.replaceFirst("u","@").replaceFirst("u","-").replaceFirst("@","u");

String[]
novo_teste = teste.split("-");

:twisted:

Tchauzin!

vlw pela ideia, porém nem sempre a expressão será dessa forma, por exemplo poderá ser (AuBuC)u(AnC)

ViniGodoy

As pilhas também vão te resolver se você tiver mais parênteses.

Coisas como:
(AuB)+((C^B) - (A^C))

E também vai te resolver quando você tiver outros tipos de operação. Lembre-se que existem precedência entre operações de conjuntos

felipehts

ViniGodoy:
As pilhas também vão te resolver se você tiver mais parênteses.

Coisas como:
(AuB)+((C^B) - (A^C))

E também vai te resolver quando você tiver outros tipos de operação. Lembre-se que existem precedência entre operações de conjuntos

vlw pela dica, já estou tentando implementar pilha … parece que agora vai da certo…eheh

marcoantoliv

Olá galera!
Amanhã será minha primeira aula de java, de um curso de 1 ano. To ancioso para comentar aqui também. *rsrsrrrs
Abraço a todos.

evertonsilvagomesjav

marcoantoliv:
Olá galera!
Amanhã será minha primeira aula de java, de um curso de 1 ano. To ancioso para comentar aqui também. *rsrsrrrs
Abraço a todos.

i?

oliverjava

evertonsilvagomesjava:
marcoantoliv:
Olá galera!
Amanhã será minha primeira aula de java, de um curso de 1 ano. To ancioso para comentar aqui também. *rsrsrrrs
Abraço a todos.

i?

É isso ai marcoantoliv, acredito que nunca é tarde para novos conhecimentos…boa sorte.

Criado 24 de setembro de 2010
Ultima resposta 24 de set. de 2010
Respostas 12
Participantes 8