Eduardo, fui programador clipper por algum tempo e por isso acho que fica mais f�cil eu entender sua necessidade. Percebi que sua inten��o � a de postergar a execu��o de um trecho de c�digo (tipicamente uma fun��o) para o momento da execu��o, ou seja, um comportamento din�mico. Em Java voc� pode utilizar-se de uma API (Java Reflection ) em java.lang.reflect que te deixa, em tempo de execu��o, carregar uma classe e criar inst�ncias dela. N�o s� isso, voc� tamb�m pode inspecionar e executar m�todos, n�o te parece interessante ? Creio que � perfeitamente fact�vel utilizar esse conceito no teu caso espec�fico. Desde armazenar par�metros de instancia��o at� a classes completas no banco de dados, depende do teu problema particular. Quanto ao parser, creio que ele existir� de qualquer forma j� que voc� ter� que traduzir a express�o em a��es din�micas (via reflection).
 
Te passo um esbo�o de uma r�pida id�ia que tive agora e que pode te ajudar de alguma forma... O modelo abaixo parece ser complexo demais para o teu caso (matar uma mosca com uma bala de canh�o) por�m � tamb�m mais poderoso tendo em vista que voc� pode definir opera��es e fun��es de qualquer natureza. Da� minha observa��o quanto ao adequa��o ao seu problema.
 
O agrupamento de um conjunto de opera��es em uma �rvore poder� te ajudar a ter express�es com v�rios operandos e operadores. Isso n�o foi descrito abaixo.
 
public class Funcoes
{
   public int funcao1()
   {
      ...
   }
 
   public int funcao2()
   {
      ...
   }
   ...
   public int funcaoN()
   {
      ...
   }
}
 
public interface Operador
{
   public int executaOperacao( Method m1, Method m2 );
}
 
public class Soma implements Operador
{
   public int executaOperacao()
   {
      // uso de reflection para execu��o dos m�todos m1 e m2 aplicando a opera��o de Soma
   }
}
 
public class CartaoCreditoValido implements Operador
{
   ...
}
 
...
 
public class DigitoVerificadorValido implements Operador
{
   ...
}
...
 
Ajudei ?
 
Marc�lio Mendon�a.
 
 
-----Mensagem original-----
De: [Carlos H.] [mailto:[EMAIL PROTECTED]]
Enviada em: Tuesday, November 20, 2001 9:16 PM
Para: [EMAIL PROTECTED]
Assunto: Re: [java-list] DUVIDAS DE INICIANTE (SOCORRO)

Ola Eduardo

Bem... eu nao tenho conhecimento de nenhum m�todo desse tipo, e se isso existe, gostaria de conhecer tambem!  ;)
Como sugest�o, caso vc nao ache o que procura, (e caso esta id�ia ainda n�o tenha te ocorrido) voc� poderia adotar um m�todo semelhante a este, dependendo do seu objetivo:

boolean funcaoEval(int funcao, char operador, int funcao2) {
    if (operador == '>') {
        if (funcao > funcao2) return true;
    } else if (operador == '<') {
        if (funcao < funcao2) return true;
    }else if {
        ( ...e assim por diante para todos os operadores)
    }
    return false;
}

Entao seria somente o caso de chamar este m�todo quando necess�rio.
Espero ter ajudado.

Carlos

eduardo wrote:
003e01c172de$12d771e0$9a1e0a0a@internetdom" type="cite">
Caro  BRUNO BORGES

ACHEI SUA RESPOSTA UM TANTO QUANTO ARROGANTE E SEM OBJETIVO DE AJUDAR
NINGUEM



quando a estudar mais. a pergunta � um pouco mais complexa do que sua
resposta for Dummies

vou tentar me expressar melhor pois acho que (nao justificando sua
arrogancia) tentei dar um exemplo simples e a pergunta

pareceu muito facil.


Cara


o que eu quero � um analizador ou parser ( o exemplo dado ) � apenas um
exemplo o mais simples que pude encontrar

o que eu tenho na verdade � o seguinte

eu busco no banco de dados uma String que tem expressoes completas definidas
pelo usuario

que impoem condicoes para determinadas medidas que fazem parte de um
contexto maior

tipo

o usuario define que uma regra para alcancar determinada condicao, � a
segunte:

funcaodeusuario1() > funcaodeusuario2()

estou guardando ist o na base em 3 campos (funcao1,operador,funcao2)

o programa resolve as funcoes e obtem os resultados

depois das funcoes resolvidas preciso comparar os resultados atraves do
operador definido pelo

usuario que pode ser (=,>=,<=,!=,<,>)

quero que o java saiba interpretar o operador pois ele vem do banco como uma
String

Caso ele nao tenha um metodo que me permita fazer isto. Vou ter que ficar
testando um a um

tipo
if (operador=">")
{
faco isso
}

acho meio "for Dummies"

no antigo Clipper existia uma funcao do tipo &variavel

onde o Clipper sabia que era para avaliar o conte�do da variavel (ou seja
resolver a expressao) e me retornar o resultado

Sendo o Java uma linguagem muito mais avancada, creio que deve ter um parser
pronto.

Me expressei melhor?

Vc pode me Ajudar?

Isto esta Explicado no Java for Dummies?





----- O riginal Message -----
From: Bruno Borges <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, November 20, 2001 5:27 PM
Subject: Re: [java-list] DUVIDAS DE INICIANTE (SOCORRO)


boa boa pergunta, q tal vc dar uma passadinha no
submarino.com.br e comprar o livro "Java for Dummies",
ou no m�nimo, ESTUDAR UM POKO DE ALGORITMO! na real
cara, estuda um pokinhu mais... totalmente fora de
contexto a sua declaracao

String x = "5>6";
file://totalmente errado segundo o objetivo da sua logica.
mas estaria correto se vc quisesse criar um objeto
String contendo o texto "5>6".

se voce quer comparar algo, use o IF!!

String x;
if(5>6) {
x = "5 eh maior que 6";
} else {
x = "eh obvio q 5 NAO eh maior q 6";
}

[]'s :)

--- eduardo <[EMAIL PROTECTED]> escreveu: >
alguem sabe responder
quero que o java resolva a seguinte expressao dentro
de uma string


String x="5>6"


qual metodo e qual classe eu uso para ele avaliar a
expressao

e me retornar se a expressao � verdadeira ou falsa?




____________________________________________________________________________
___________________
Yahoo! GeoCities
Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo!
GeoCities. � f�cil e gr�tis!
http://br.geocities.yahoo.com/

------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------


-- 
====================================================
[Carlos H.] - [EMAIL PROTECTED]
Kernel de Inform�tica - UNERJ
Centro Universit�rio de Jaragu� do Sul

"S� os tolos aprendem com os pr�prios erros, 
	os s�bios aprendem com os erros dos outros"

Responder a