Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Numeri casuali in java

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    20

    Numeri casuali in java

    O forse dovrei dire che ho problemi con la matematica

    Ho necessità di generare dei numeri pseudo-casuali in un certo intervallo. Niente di più facile:

    omissis...

    Random Casuale;
    Casuale = new Random();
    System.out.println (Casuale.nextInt ());
    System.out.println ((Casuale.nextInt () % 10));

    omissis di nuovo...

    Il punto è che sul mio manuale dice che l'operatore "%" o operatore di resto, "da come risultato il resto della divisione intera del primo operando per il secondo". Ora: è passato troppo tempo da quando facevo le elementari, o il resto non è che la parte decimale? Beh se è così non mi spiego come mai il codice sopra funziona.
    Il risultato di ((Casuale.nextInt () % 10)) non è affatto la parte decimale della divisione tra il numero casuale e 10!!


    insomma non ci ho capito nulla

    Se potete aiutarmi...vi sono grato

    Golconda.
    Golconda

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Il resto della divisione fra due interi e' un numero intero:
    7 / 2 = 3 resto 1

    Quindi se fai
    7 / 2
    risulta 3, mentre
    7 % 2
    risulta 1

    Vale solo per gli interi.
    Un po' piu' chiaro, ora?
    Ciao,
    Lorenzo

  3. #3
    Utente di HTML.it L'avatar di Xadoom
    Registrato dal
    Dec 2002
    Messaggi
    1,491
    CMQ c'è una fonzione in java che restituisce un numero casuale:

    Math.random()

    Windows Xp
    [Java]
    [PHP]Notepad++
    [Fortran90-77] elf90 g77
    [C++ /WinAPI] DevC++ VisualC++

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    20

    non ancora chiaro...

    o meglio: il tuo esempio lo è ma:

    come fa un numero a 7 cifre quale quello che ottengo dalla prima istruzione a dare un resto compreso nell'intervallo +-X dove X è il numero specificato dopo %???

    Esempio:

    il numero casuale è 654423492 e dopo aver fatto:
    654423492 % 10 mi viene sempre un numero compreso tra 10 e -10 (senza considerare lo scarto di 1 ovviamente).

    Spero che tu mi possa spiegare.
    Grazie.
    Golconda.
    Golconda

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    315
    Un qualsiasi numero intero relativo R, diviso per un numero intero positivo X da un resto compreso tra -(X-1) e X-1

    Cioe' prendo un numero a caso, esempio 24, lo divido per un numero intero, in questo caso 10:

    24 / 10 = 2 resto 4
    Quindi 24 % 10 = 4 giusto?
    Se prendo -24 e' il discorso e' simile
    -24 / 10 = -2 resto 4
    -24 % 10 = -4

    A dire il vero, mi pare di ricordare che il risultato -2 non e' garantito (potrebbe essere anche -3), dipende dalla piattaforma. L'unica cosa garantita e' il resto, cioe' -4, ma dato che non sono sicuro di questo, prendi questa informazione con le molle, ok?

    Come puoi vedere, comunque, il resto varia, in modulo, da 0 a X-1, cioe' in questo caso, da 0 a 9 (se dividevo per 7 variava da 0 a 6, giusto per capirci), considerando che come numero iniziale posso mettere un numero minore di 0 ottengo che il resto puo' variare da -9 a +9, cioe' -(X-1) <= resto <= X-1
    Spero sia abbastanza chiaro
    Ciao,
    Lorenzo

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.