Java - Duda de como imprimir un String de forma Aleatoria

 
Vista:
sin imagen de perfil

Duda de como imprimir un String de forma Aleatoria

Publicado por kleiver (1 intervención) el 22/01/2015 23:42:58
hola todos, estoy empezando en el mundo de la programación y me he quedado en este ejercicio
lo he buscado por otras partes pero me aparece el codigo es con funciones y metodos, pero creo que es posible hacerlo de una manera mas sencilla.

Tengo q crear un arreglo string, asignarle el tamaño por teclado y guardar las palabras en todas las posiciones, ya lo hice hasta ahi, pero necesito imprimir las palabras de forma aleatoria y sin repetirse. cualquier ayuda es muy agradecida.
import java.util.Scanner;

public class String2{
public static void main (String[] args) {
Scanner tec = new Scanner(System.in);


System.out.print ("Dame la cantidad de palabras: ");
int tam = tec.nextInt();
String pal[] = new String[tam];
//creo un arreglo string con el tamaño dado por el usuario

System.out.println ("Dame las palabras");
//guardo las palabras en el arreglo
for (int i = 0; i<pal.length; i++){

pal[i] = tec.next();

}
//Que deberia hacer para imprimir las palabras guardadas de //forma aleatoria
//y sin que se repitan

System.out.println ();
for (int i = 0; i<pal.length; i++){
System.out.print (pal[i] +" ");

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Duda de como imprimir un String de forma Aleatoria

Publicado por Pedro (81 intervenciones) el 23/01/2015 13:33:24
Algo así podría valerte

1
2
3
4
5
6
7
8
9
10
11
12
String[] ordenadas = {"o1", "o2", "o3", "o4", "o5"};
        boolean[] impresas = new boolean[ordenadas.length];
 
 
        for(int i = 0; i < ordenadas.length;){
            int posicion = (int)(Math.random() * ordenadas.length);
            if(!impresas[posicion]){
                impresas[posicion] = true;
                System.out.println(ordenadas[posicion]);
                i++;
            }
        }
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar