Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/12/2015, 12:20
rufus
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: aplicacion java de generar cadenas aleatorias, de longitud variabl

hola..

tengo ahora el codigo asi:

Código Java:
Ver original
  1. public class CadenasAleatorias
  2. {
  3.    public static void main(String[] args) throws IOException
  4.     {
  5.                  
  6.                   int contador = 0 ;
  7.                   InputStreamReader leer = new InputStreamReader(System.in);
  8.                   BufferedReader br = new BufferedReader(leer);
  9.                   System.out.print("Escriba cuantas cadenas quiere generar: ");
  10.                   int numero1 = Integer.parseInt(br.readLine());  
  11.                   while(contador < numero1)
  12.                   {
  13.                  
  14.                          String letras = "";
  15.                         String cadena = "";
  16.                        int longitudCadena = (int) Math.floor(Math.random()*20+1);  //Se genera aleatoriamente la longitud de la cadena actual
  17.                         for (int x = 0; x < longitudCadena; x++)
  18.                         {
  19.                             int caracter = (int) Math.floor(Math.random()*27); //Generamos la cadena
  20.                             cadena = cadena + letras.charAt(caracter);
  21.                         }
  22.                         System.out.println(cadena);
  23.                     }
  24.                 }
  25.             }

pero en la linea cadena = cadena + letras.charAt(caracter);

la variable "letras" me da un error al ejecutar la aplicacion, el error es:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 17
at java.lang.String.charAt(String.java:658)
at cadenasaleatorias.CadenasAleatorias.main(CadenasAl eatorias.java:44)
Java Result: 1

(el codigo de dentro de while no es mio lo estoy adaptando por eso no se que me pasa con la variable letras)
que puedo hacer?