Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [Java] Problema random

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    202

    [Java] Problema random

    Se ho un clientThread che deve iniviare ad un servizio informazioni riguardo alla prenotazione di un numero di biglietti di una tratta a scelta tra Londra e Oxford.

    Ho usato Math.random(); per la scelta random del numero dei biglietti, ora se voglio far scegliere automaticamente al sistema con una probabilità di 50 e 50, tra i due valori string "Londra" e "Oxford" come si può fare?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Math.random() ritorna un valore double compreso fra 0.0 (incluso) e 1.0 (escluso).
    Quindi, una formula matematica abbastanza semplice potrebbe essere la seguente:

    codice:
    int risultato = ((int) (Math.random() * 1000)) % 2;
    La variabile "risultato" varrà 0 oppure 1 a seconda se il valore estratto è "pari" o "dispari".

    Esiste anche la possibilità di usare direttamente la classe Random, per estrarre un valore boleano casuale:

    codice:
    Random r = new Random();
    boolean risultato = r.nextBoolean();
    In questo caso, la variabile "risultato" varrà true o false.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    202
    Quindi diciamo che se volessi utilizzare semplicemente una scelta tra valori di tipo string è impossibile in java, la scelta random può essere fatta solamente tra valori numerici!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Originariamente inviato da neidus
    Quindi diciamo che se volessi utilizzare semplicemente una scelta tra valori di tipo string è impossibile in java, la scelta random può essere fatta solamente tra valori numerici!!!
    Sinceramente non capisco cosa ti manca , LeleFT ti ha mostrato due tra i tanti modi di fare ciò che chiedi...a questo punto basta che adatti i suoi suggerimenti alle tue esigenze..ad esempio:

    codice:
    Random r = new Random ();
    String scelta = (r.nextBoolean ()) ? "Londra" : Oxford";
    mentre ad eempio mettiamo il caso che tu abbia un array di dimensione n di String , e devi scegliere un valore casuale al suo interno , puoi fare ad esempio:

    codice:
    String [] array = {"gatto" , "cane" , "giraffa"};
    Random r = new Random ();
    String scelta = array [r.nextInt (array.length)];
    Spero di essere stato chiaro

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2011
    Messaggi
    202
    Ha okok, non mi era chiaro....da come era stato spiegato avevo capito che potevo gestire solamente facendo variare tra i valori di false e true

    grazie

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.