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

como hacer random con letras en java

Estas en el tema de como hacer random con letras en java en el foro de Java en Foros del Web. hola, ocupo hacer un random que me permita imprimir en desorden letras que estan guardadas en una variable string, con numeros se hacerlo con el ...
  #1 (permalink)  
Antiguo 03/07/2011, 10:36
 
Fecha de Ingreso: julio-2011
Mensajes: 10
Antigüedad: 12 años, 9 meses
Puntos: 0
Pregunta como hacer random con letras en java

hola, ocupo hacer un random que me permita imprimir en desorden letras que estan guardadas en una variable string, con numeros se hacerlo con el math random, pero con letras no
  #2 (permalink)  
Antiguo 03/07/2011, 10:38
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: como hacer random con letras en java

Convierte la cadena a un array de caracteres y pues el random para los indices del array.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 03/07/2011, 12:18
 
Fecha de Ingreso: junio-2009
Mensajes: 88
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: como hacer random con letras en java

Eso es facil. Tienes que guardar todas las letras que quieres incluir en un array de Strings. Luego elegir la posicion del array dandole un numero random.

Me explico:

Si tienes esta array

Cita:
String [] abecedario = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M","N","O","P","Q","R","S","T","U","V","W", "X","Y","Z" };
Para mostrar una de esas letras, lo haces de este modo:

System.out.println(abecedario[0]);

Para insertarla lo haces asi:

abecedario[0] = String que quieras insertar;

Por lo tanto, creas un random que te de numeros del 1 al 27, y haces lo siguiente:

numRandon = Forma para que te de los numeros del 1 al 27;

System.out.println( abecedario[numRandon] );

Y listo. Solo tienes que estudiar los random para saber como calcular del 1 al 27.

Forma para que te de los numeros del 1 al 27

Bueno, ya que lo probe, te pongo aqui el codigo:

Cita:
String [] abecedario = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"K", "L", "M","N","O","P","Q","R","S","T","U","V","W", "X","Y","Z" };

int numRandon = (int) Math.round(Math.random() * 26 ) ;

System.out.println( abecedario[numRandon] );
  #4 (permalink)  
Antiguo 20/07/2011, 21:47
 
Fecha de Ingreso: julio-2011
Mensajes: 10
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: como hacer random con letras en java

gracias por la ayuda, me fue muy util, aqui les dejo el fragmento de codigo donde lo tube que usar, lo pongo para que a otro le sea util tambien.
Si alguien me quisiera decir como hacer que imprima el mazo de cartas desordenado pero sin que se repita ninguna carta se lo agradeceria, eso fue lo unico que no pude hacer.
  #5 (permalink)  
Antiguo 20/07/2011, 21:48
 
Fecha de Ingreso: julio-2011
Mensajes: 10
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: como hacer random con letras en java

Cita:
Iniciado por edoantonio Ver Mensaje
gracias por la ayuda, me fue muy util, aqui les dejo el fragmento de codigo donde lo tube que usar, lo pongo para que a otro le sea util tambien.
Si alguien me quisiera decir como hacer que imprima el mazo de cartas desordenado pero sin que se repita ninguna carta se lo agradeceria, eso fue lo unico que no pude hacer.
String [] mazoparadesorden= {"AD","2D","3D","4D","5D","6D","7D","8D","9D","0D" ,"JD","QD","KD", "AB","2B","3B","4B","5B","6B","7B","8B","9B","0B", "JB","QB","KB", "AC","2C","3C","4C","5C","6C","7C","8C","9C","0C", "JC","QC","KC","AF","2F","3F","4F","5F","6F","7F", "8F","9F","0F","JF","QF","KF"};

JOptionPane.showMessageDialog(null,mazo);


//contador para hacer el procedimiento la misma cantidad de veces que la cantidad de cartas que hay
while (cont<=51){

//se aplica el random para desordenar el mazo
int numRandon = (int) Math.round(Math.random() * 51 ) ;


//para que los valores vallan concatenados
mazodesordenado=mazodesordenado+" "+mazoparadesorden[numRandon];

//contador del while
cont++;

}//fin while

//enseña el mazo desordenado
JOptionPane.showMessageDialog(null, mazodesordenado);
  #6 (permalink)  
Antiguo 21/07/2011, 06:25
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: como hacer random con letras en java

Podrías ir guardando los resultados en otro array y antes de insertar verificar si existe.

Otra forma, una mejor diría yo, seria guardarlo en un Set (Ya sea un HashSet, TreeSet o similar). El Set se ocuparía automáticamente de los repetidos.
  #7 (permalink)  
Antiguo 27/07/2011, 23:44
 
Fecha de Ingreso: julio-2011
Mensajes: 10
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: como hacer random con letras en java

y como le puedo hacer para verificar si existe?

Etiquetas: letras, random
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 01:07.