Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27/10/2006, 16:48
blinkx
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 18 años
Puntos: 0
Evaluar sintaxis de una operacion aritmetica

Hola, soy nuevo en el foro, aqui planteo mi problema:

Necesito hacer un programa que evalue la sintaxis de una operacion introducida por el usuario. Por ejemplo: 2+2

No es necesario que me arroje el resultado, simplemente que evalue si esta correcto la forma en que el usuario introdujo la operacion, he realizado 3 funciones para evaluar cada caracter, si es Numero, Letra (por que el usuario puede introducir nombres de variables) y si es Operador, las funciones estan correctas (al menos a mi forma de entender), ahora lo que necesito es que me evalue si lo primero que se introdujo es numero o variable, luego el operador y por ultimo otro numero u otra variable ( num ope num ) que este en orden y si no que me indique el error o la posicion, estoy iniciando en el lenguaje, es por eso que pido ayuda, mi problema es que tengo la idea, pero no he podido plasmarla, aqui dejo el codigo que llevo hecho, si hay agluien me pueda ayudar o que me guie un poco se lo agradecere.

Código PHP:
import java.io.*;

public class 
Operacion
{
    public static 
boolean esNumero(char numero)
    {
        
int i 0;
        
boolean existe false;
        
char NUMERO[] = {'0','1','2','3','4','5','6','7','8','9'};
        
        for(
0NUMERO.lengthi++)
        {
            if (
numero==NUMERO[i])
            {
                
existe true;
                break;
            }
            else
            {
                
existe false;
            }
        }
        
        return 
existe;
    }
    
    public static 
boolean esOperador(char operador)
    {
        
int i 0;
        
boolean existe false;
        
char OPERADOR[] = {'+','-','*','/'};
        
        for(
0OPERADOR.lengthi++)
        {
            if (
operador==OPERADOR[i])
            {
                
existe true;
                break;
            }
            else
            {
                
existe false;
            }
        }
        
        return 
existe;
    }
    
    public static 
boolean esVariable(char letra)
    {
        
int i 0;
        
boolean existe false;
        
String LETRA "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ";
        
        for(
0LETRA.length(); i++)
        {
            if (
letra==LETRA.charAt(i))
            {
                
existe true;
                break;
            }
            else
            {
                
existe false;
            }
        }
        
        return 
existe;
    }

    public static 
void main(String []args)
    {
        
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
        
        
String expresion "";
        
        
System.out.print("Ingresa una expresion: ");
        try
        {
            
expresion buffer.readLine();
        }
        catch(
IOException e)
        {
            
System.err.println("Error" e.getMessage());
        }
    }

De antemano, muchas GRACIAS...