Tema: problema
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/05/2005, 19:48
Avatar de caerolus
caerolus
 
Fecha de Ingreso: agosto-2004
Ubicación: Madrid, España
Mensajes: 280
Antigüedad: 20 años, 4 meses
Puntos: 1
Supongo que querrás hacer algo así como una calculadora. Si es así, supongo que el string 22*2-A también podría ser 22-4*b-45*c o cualquier cosa. Es decir, puede haber muchos símbolos, no sabemos cuántos. Si es así, deberás usar un java.util.Vector() para guardarlos. En cuanto a cómo separar los números y variables de las operaciones, puedes hacerlo con java.util.StringTokenizer:
Código:
import java.util.*;

...
String linea = "22*2-A"; // Podrá ser lo que sea
StringTokenizer tk = new StringTokenizer(linea, "*/-+"); // Todos los caracteres que sean operaciones
Vector v = new Vector(); // Aquí guardaremos cada variable
while(tk.hasMoreTokens()){
  String var = tk.nextToken();
  if(var.length() == 1 && Character.isLetter(var.charAt(0)))
    v.add(var);
}
// Y ahora se muestran uno a uno
Iterator it = v.iterator();
while(it.hasNext()){
  System.out.println(it.next());
}
Si no te hace falta guardarlos en el Vector, sino que sólo quieres mostrarlos por pantalla, te vale así:
Código:
import java.util.*;

...
String linea = "22*2-A"; // Podrá ser lo que sea
StringTokenizer tk = new StringTokenizer(linea, "*/-+"); // Todos los caracteres que sean operaciones
while(tk.hasMoreTokens()){
  String var = tk.nextToken();
  if(var.length() == 1 && Character.isLetter(var.charAt(0)))
    System.out.println(var);
}
__________________
Mi página personal: Julián Urbano