Cita: ..String index out of range: 0
quiere decir que la posición ZERO de la variable String está fuera del rango, es decir que tu String no contiene NI siquiera un caracter, espacio " ", nada!, está vacío (isEmpty() es true || string.lenght() == 0).
Controla el contenido de
valeMas
PD: Ojo con este casteo
(int)valeMas.charAt(), no es buen práctica, y tampoco es 100% equivalente dependiendo el charset