Ayuda con las validaciones de los ints

Kenx
26 de Agosto del 2009
Estoy haciendo una captura de notacion polaca (+ 12 21) estoy capturando todos los operadores en un solo string y despues los desgloso.
cuando voy a obtener los operadores(12 ó 21) si introduzco un alfabetico se sale de la corrida

ayuda plx ahi esta parte del codigo


String S = null;
String Oper1, Oper2;
int y=0;
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Introduzca la operacion en notacion polaca: ");
S = br.readLine();

} catch (IOException e) {
System.out.print("ERROR EN EL TECLADO");
e.printStackTrace();
}
S = S.trim();
// identificacion del oper1
Oper1 = S.substring( S.indexOf(" "), S.lastIndexOf(" ")).trim();
// identificacion del oper2
Oper2 = S.substring( S.lastIndexOf(" "), S.length()).trim();

int op1, op2,res;

op1= Integer.valueOf(Oper1).intValue();
op2= Integer.valueOf(Oper2).intValue();


antonio
26 de Agosto del 2009
todavia lo tienes ? el codigo....que yo tambien tengo un problema.porfavor responde. gracias

jdiscolo
26 de Agosto del 2009
Si tienes una cadena y quieres trocearla porqué no pruebas el split?
String[] trozos = cadena.split(" "); //no pongas nombres de variables variables que empiecen por mayúsculas.
así luego tendrás
trozos[0] -> +
trozos[1]-> primer núm
trozos[2] -> segundo núm

finalmente
op1 = Integer.parseInt(trozos[1]);
op2 = Integer.parseInt(trozos[2]);

no lo he probado pero debería ir.
Saludos