NUMEROS ALEATORIOS

Iniciado por ponichan, 27 Enero 2008, 14:37 PM

0 Miembros y 1 Visitante están viendo este tema.

ponichan

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 ;)

43H4FH44H45H4CH49H56H45H

Simple:
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("");
   }

}


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

ponichan

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 ;)


Ragnarok

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.
No olvidéis leer las normas generales, además de las específicas de cada tablón.sgae, ladrones

ponichan

aah.. listo... gracias x la ayuda!!

fabian ;)

Codename!!

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!!
No te dejes mover por las masas, se tu mismo.





sapito169


primero create un JTextArea llamado txts

luego usa este codigo dentro de tu botonsito


    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