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?