Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Probl con Math.random()

    ciao a tutti e grazie in anticipo.

    Io devo estrarre dei campi di un vettore casualmente, ma nell'intervallo di 4, cioè 1, 5, 9, 13, 17, etc...
    Io faccio cosi, ma non funzia:


    int j = vettore.size();
    int seed = 4;
    mod = (int) j / seed;
    System.out.println("mod: "+ mod);
    indice_2 = (int)( Math.random() * seed)+1;
    indice = seed + (seed*indice_2);


    Cosa sbaglio?

    Nello specifico dovrei estrarne 4 per ogni mia pagina (nessun problema), il problema sta che per ogni pagina non devono essere uguali....come lo faccio questo controllo???


    grazie mille a tutti...

    Danilo

  2. #2
    Utente bannato
    Registrato dal
    Sep 2001
    Messaggi
    413

    Re: Probl con Math.random()

    mica ho capito che vuoi fare :master:

  3. #3
    Utente di HTML.it L'avatar di blueice
    Registrato dal
    Feb 2001
    Messaggi
    121
    Non sò se ho capito bene quanto hai chiesto.
    In realtà tu vorresti estrarti 4 numeri casuali ma non li vorresti uguali, giusto ?

    Se così ti converrebbe costruirti un metodo che ti estrae un numero casuale ed un'altro metodo che ti controlla se il numero estratto è già presente nella variabile array estratti[4];

    Nel caso il numero estratto è già presente, richiami il metodo estrainumerocasuale, altrimenti lo inserisci nell'array estratti[4] e finchè non è pieno l'array continui il ciclo.

  4. #4
    Se non ho capito male , tu partendo da un indice prestabilito(Es. 1), devi selezionare i valori successivi (presi in modo random) multipli di 4.
    Potresti , una volta stabilito l'indice di partenza , crearti un vettorecon tutti gli indici che ti servono ed estrarli in maniera casuale.
    codice:
    Vector iniziale=new Vector(13);
    	System.out.println(iniziale.capacity());
    	for(int i=0;i<iniziale.capacity();i++)
    		iniziale.add(i,new Integer(i));
    
    	int indice=1;
    	Vector indici=new Vector();
    	for(int j=1,i=0;j<iniziale.size();j+=4,i++)
    	      indici.add(i,new Integer(j));
    	int i=20;
    	while(i>=0){
    	int r=(int)(Math.random()*indici.size());
    	System.out.println();
    	System.out.println("R "+r);
    	System.out.println(iniziale.get( ((Integer)indici.get(r)).intValue()));
    	i--;
    	}
    Ciauz
    Lang=Java
    Ambiente = Eclipse forever
    Ubuntu & Win XP Pro

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.