Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/08/2012, 05:57
Kritik
(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?