Foro de elhacker.net

Programación => Java => Mensaje iniciado por: ponichan en 27 Enero 2008, 14:37 pm



Título: NUMEROS ALEATORIOS
Publicado por: ponichan en 27 Enero 2008, 14:37 pm
Hola... necesito saber si se puede en java generar numeros aleatorios distintos con la clase Math.random(); o sino como podria utilizar para generar numeros aleatorios del 1 al 6 sin que se repitan por ejemplo yo lo que quiero es armar un vector de 3 posiciones con los que dos de los numeros aleatorios generados se enfrenten ej:
1 contra 3
6 contra 5
4 contra 2
POR FAVOR SI ALGUIEN ME PUEDE AYUDAR LE AGRADECERE MUCHO....

saludos fabian ;)


Título: Re: NUMEROS ALEATORIOS
Publicado por: 43H4FH44H45H4CH49H56H45H en 27 Enero 2008, 19:47 pm
Simple:
Código:
import java.util.Random;

public class a {
  public static void main (String[] args) {

    Random randi = new Random();
        int x = randi.nextInt(6)+1;
        int y = randi.nextInt(6)+1;

        System.out.println("Jugador "+ x +" Contra Jugador " + y);
    System.out.println("");
   }

}


Título: Re: NUMEROS ALEATORIOS
Publicado por: ponichan en 27 Enero 2008, 20:43 pm
gracias x el codigo.. pero en este se repiten los mismos jugadores...

lo que yo quiero es que nose repitan armar un tipo fixture.
les paso el codigo en donde puede visualizar los 6 jugadores... pero m repite la ultima posicion del vector a alguna posicion...

static void fixture(){
      int aux=10,i,c,aux2=10;
      
      vec[0]= "JUGADOR 1";
      vec[1]= "JUGADOR 2";
      vec[2]= "JUGADOR 3";
      vec[3]= "JUGADOR 4";
      vec[4]= "JUGADOR 5";
      vec[5]= "JUGADOR 6";

      for(int a=0;a<3;a++){
         i=((int)(Math.random()*6));
         while((i==aux)||(i==aux2))//||(i==vecnum[numero]))
         {
            i=((int)(Math.random()*6));
         }
         c=((int)(Math.random()*6));
         while((c==i)||(c==aux2)||(c==aux)){//||(i==vecnum[numero])){
            c=((int)(Math.random()*6));
         }
         System.out.println(vec+ " vs " +vec[c]);
         aux=i;
         aux2=c;
      }
}

al q pueda ayudarme... muchisimas gracias...!! salduos fabian ;)



Título: Re: NUMEROS ALEATORIOS
Publicado por: Ragnarok en 27 Enero 2008, 21:34 pm
Lee las reglas, el código debe ir dentro de las etiquetas de código.

Puedes meter los números que quieras en un vector y luego seleccionar la posición dentro de ese vector como hace 43H4FH44H45H4CH, cada vez que selecciones un número lo quitas del vector para que no se repita.


Título: Re: NUMEROS ALEATORIOS
Publicado por: ponichan en 27 Enero 2008, 22:21 pm
aah.. listo... gracias x la ayuda!!

fabian ;)


Título: Re: NUMEROS ALEATORIOS
Publicado por: Codename!! en 20 Marzo 2008, 22:57 pm
Te voy a dar el codigo que necesitas para lo que buscas
(int) (x+math.random()*(y-x+1))

generas valor aleatorio entre X e Y incluyendo ambos laterales.


Espero que te sirva Talue!!


Título: Re: NUMEROS ALEATORIOS
Publicado por: sapito169 en 19 Abril 2008, 21:35 pm

primero create un JTextArea llamado txts

luego usa este codigo dentro de tu botonsito

Código:
    txts.setText("");
    Vector vector=new Vector(1);   
     while(vector.size()<6){
    int  arial=((int)(Math.random()*6)+1);
        if(!vector.contains(arial)){
            txts.append(""+arial+"\n");
            vector.add(arial);
        }
    }
    }

por ultimi agradese