Foro de elhacker.net

Programación => Java => Mensaje iniciado por: d91 en 19 Abril 2016, 19:09 pm



Título: ayuda para tokenizar una ecuacion
Publicado por: d91 en 19 Abril 2016, 19:09 pm
hola, tengo que insertar en una matriz mxn los coeficientes de dos ecuaciones, pero tengo que ingresarlos con sus respectivo signo (positivo o negativo) ya logre tokenizar cada una de la ecuaciones poniendo de condición el ";". Y tal vez alguien me puede ayudar con alguna idea para tokenizar cada termino de la ecuación y tomar el coeficiente porque no puedo poner varias condiciones en la tokenizacion por ejemplo  tokens = new StringTokenizer(datos,"x","y","=",";");
Código
  1.  
  2.  
  3.      La entrada:
  4.       x + y = 5;
  5.      2x - 5y = 4;
  6.  
  7.  
  8. String datos;
  9.        StringTokenizer  tokens;
  10.        int ndatos;
  11.        try{
  12.        datos = textArea.getText();
  13.        tokens = new StringTokenizer(datos,";");
  14.        ndatos = tokens.countTokens();
  15.  
  16.        while(tokens.hasMoreTokens()){
  17.            String str=tokens.nextToken();
  18.  
  19.            System.out.println(str);
  20.  
  21.        }
  22.        }catch(Exception ex){
  23.                JOptionPane.showMessageDialog(null,ex);
  24.        }
  25.  
  26.  


Título: Re: ayuda para tokenizar una ecuacion
Publicado por: + 1 Oculto(s) en 19 Abril 2016, 23:29 pm
mi idea seria que pongas en un string todos los tokens que necesites

Código
  1. public void toke() {
  2.        String datos = "x + y = 5;2x - 5y = 4";
  3.        String tkNeed = "+;";
  4.        for (int i = 0; i < tkNeed.length(); i++) {
  5.            String caracterTk=tkNeed.charAt(i)+"";
  6.            StringTokenizer tk = new StringTokenizer(datos, caracterTk);
  7.            int ndatos;
  8.            while (tk.hasMoreTokens()) {
  9.                String str = tk.nextToken();
  10.                System.out.println(str);
  11.            }
  12.        }
  13.  
  14.    }