Buenas noches, estoy haciendo un programa en java que apartir de un String que tiene una operacion matematica por ejemplo "5+7*3-56/5+45". esto tiene que quedar en un arbol binario y luego resolverse. Yo tenia planeado contar cuantos signos hay y dividirlo en 2 para que el gigno de la mitad sea la raiz y con subString poner la parte derecha de signo en el hijo derecho y la izquierda en el hijo izquierdo y hacer recursividad hasta completar el arbol. pero el problema es que nose como obtener la posicion del signo de la mitad, por el momento solo se cuantos signos hay y pensaba hacer un arreglo que me guardara los numeros haciendo un split para que omita los signos
String x="785+6-7*4/4+9+445";
String separadores = "[\\+\\-\\*\\/]";
String z[] = x.split(separadores);
for(int i=0;i<z.length();i++){
System.out.println(z);
}
con esto logro guardar en un espacio los numeros de varios digitos pero no se como meter los signos en ese arreglo. espero me haya echo entender y de antemano gracias por su ayuda.
String x="785+6-7*4/4+9+445";
String separadores = "[\\+\\-\\*\\/]";
String z[] = x.split(separadores);
for(int i=0;i<z.length();i++){
System.out.println(z);
}
con esto logro guardar en un espacio los numeros de varios digitos pero no se como meter los signos en ese arreglo. espero me haya echo entender y de antemano gracias por su ayuda.
Código (java) [Seleccionar]