Foros del Web » Programación para mayores de 30 ;) » Java »

resolucion de errores

Estas en el tema de resolucion de errores en el foro de Java en Foros del Web. Tengo el siguiente código en un main: String cadena1="1234"; System.out.println("un numero al azar de cadena1 ="+ cadena1.charAt((int)Math.round(Math.random()*(cade na1.length()-1)))); Y cada vez que lo ejecuto me ...
  #1 (permalink)  
Antiguo 09/08/2012, 05:57
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 7 meses
Puntos: 31
resolucion de errores

Tengo el siguiente código en un main:

String cadena1="1234";
System.out.println("un numero al azar de cadena1 ="+
cadena1.charAt((int)Math.round(Math.random()*(cade na1.length()-1))));

Y cada vez que lo ejecuto me muestra "un numero al azar de cadena1=1, o 2, o 3, o 4. Es decir, un caracter al azar de la cadena1.

He pasado la misma función a otro programa.

En ese otro programa tengo una variable n que es un integer, y en la que meto el resultado de ese mismo código, pero pasado a integer de la siguiente manera:

bucle
valeMas=valeMas+Integer.toString(combinaciones[i][j]);
fin bucle
valeMas=valeMas.toString();
int n;
n=(int)valeMas.charAt((int)Math.round(Math.random( )*(valeMas.length()-1)));

*Nota: combinaciones[i][j] es un int.

Sin embargo, en esta ocasión me da el siguiente error:

Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException: String index out of range: 0


Alguien sabe por qué? Como puedo arreglarlo?
  #2 (permalink)  
Antiguo 09/08/2012, 06:25
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 10 meses
Puntos: 41
Respuesta: resolucion de errores

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
__________________
BadProgrammerException!

Etiquetas: errores, programa, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:21.