[ Foro de Java ]
Hola Buenas Tardes!!
tengo de proyecto que ingrese en un jtextfield una expresion por ejemplo (5+3)-3*5 o cual sea que se ingrese en el jtextfield y que imprima de esa expresion cuales son numeros y cuales son los signos por ejemplo:
Numeros : 5 3 3 4
Signos: ( ) + - *
ya e intentado pero no se si estoy muy torpe o si esta algo curioso el como hacerlo ayuda porfa!
Incluye el programa que tienes hecho hasta ahora, para ver qué problemas tiene
la ultima vez que intente fue con un ejemplo de internet solo que cambie los nombres y eso es el siguiente:
int cadena=(Integer.parseInt(entrada.getText())); //mi jtextfield se llama entrada
final String cad= Integer.toString(cadena);
final String regex = "([\\d.]+)|[-+*/()]";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(cad);
while (matcher.find())
{
if (matcher.group(1) != null) //si se capturó algo en el grupo 1 (el primer conjunto de paréntesis)
{
numerosjeje.setText(matcher.group()); //numerosjeje se llama mi label del jfrom donde mostrara los numeros
}
else
{
//System.out.println("Símbolo: " + matcher.group());
signosjeje.setText(matcher.group());
//signos se llama mi label del jfrom donde mostrara los los signos
}
}
el problema que tengo con este es que cuando en el textfield ingreso un signo o una letra automaticamente me manda error que es este:
ejemplo ingrese 12357+
For input string: "12357+"
No puedes hacer un "parseInt" de algo que contiene símbolos además de cifras numéricas.
¿Todos los números van a ser de una cifra?
o ya, entonces cual seria la mejor opción para hacer este proyecto?
los numeros pueden ser de cualquier cifra que el usuario desee ingresar , solo que sean números enteros,
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)