Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883

    Generare numero random di 3 cifre

    Ciao a tutti, volevo sapere come fare a generare un numero random che sia di 3 cifre
    (quindi da 100 a 999)

    Io ho scritto questo codice:

    Random generator = new Random();
    int randomNumber1 = generator.nextInt(10);
    int randomNumber2 = generator.nextInt(10);
    int randomNumber3 = generator.nextInt(10);
    String randomNumber3Char = randomNumber1+""+randomNumber2+""+randomNumber3;

    Voi avete altre soluzioni più eleganti?

    grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Generare numero random di 3 cifre

    Originariamente inviato da abcd1000
    Random generator = new Random();
    int randomNumber1 = generator.nextInt(10);
    int randomNumber2 = generator.nextInt(10);
    int randomNumber3 = generator.nextInt(10);
    String randomNumber3Char = randomNumber1+""+randomNumber2+""+randomNumber3;
    Non va bene, ci sono questioni legate alla teoria delle probabilità tali per cui usare 3 numeri casuali per comporre un numero non è proprio la stessa cosa che generare un unico numero casuale. È comunque è lungo e inutile.

    Semplicemente:
    int num = 100 + rnd.nextInt (1000-100);

    Così nextInt genera un numero compreso tra 0 (incluso) e 900 (escluso, quindi max 899) a cui si somma 100.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    883
    Perfetto ma perchè non hai scritto

    int num = 100 + rnd.nextInt (900);

    invece di scrivere 1000-100?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da abcd1000
    Perfetto ma perchè non hai scritto

    int num = 100 + rnd.nextInt (900);

    invece di scrivere 1000-100?
    Mah... solo per farti vedere il concetto: il massimo numero (escluso) meno la base. Poi mettilo come vuoi ...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.