Itse satunnaislukujen generoinnilla on hyvä hyötyarvo ja niiden saavuttaminen funktion avulla voi osoittautua erittäin hyödylliseksi. Java omalla kielellään on omistanut kokonaisen kirjaston satunnaisille numeroille, mikä näkee sen tärkeyden päivittäisessä ohjelmoinnissa. nextInt() käsitellään tässä artikkelissa.
- java.util.Random.nextInt() : nextInt() käytetään seuraavan satunnaislukuarvon saamiseksi tämän satunnaislukugeneraattorin sekvenssistä.
Declaration : public int nextInt() Parameters : NA Return Value : The method call returns the next integer number from the sequence Exception : NA>
Seuraava esimerkki näyttää java.util.Random.nextInt()
// Java code to demonstrate the working> // of nextInt()> import> java.util.*;> public> class> NextInt1 {> >public> static> void> main(String[] args)> >{> > >// create random object> >Random ran =>new> Random();> > >// generating integer> >int> nxt = ran.nextInt();> > >// Printing the random Number> >System.out.println> >(>'The Randomly generated integer is : '> + nxt);> >}> }> |
>
>
Lähtö:
The Randomly generated integer is : -2052834321>java.util.Random.nextInt(int n) : nextInt(int n) käytetään satunnaisluvun saamiseksi väliltä 0 (mukaan lukien) ja tässä argumentissa (n) välitetty luku, poissulkeva.
rohit shetty näyttelijä
Declaration : public int nextInt(int n) Parameters : n : This is the bound on the random number to be returned. Must be positive. Return Value : Returns a random number. between 0 (inclusive) and n (exclusive). Exception : IllegalArgumentException : This is thrown if n is not positive.>
Seuraava esimerkki näyttää tiedoston java.util.Random.nextInt(int n) käytön
kuinka osoittimen viittaus poistetaan kohdassa c
// Java code to demonstrate the working> // of nextInt(n)> import> java.util.*;> public> class> NextInt2 {> >public> static> void> main(String args[])> >{> > >// create random object> >Random ran =>new> Random();> > >// Print next int value> >// Returns number between 0-9> >int> nxt = ran.nextInt(>10>);> > >// Printing the random number> >// between 0 and 9> >System.out.println> >(>'Random number between 0 and 10 is : '> + nxt);> >}> }> |
>
>
Lähtö:
Random number between 0 and 9 is : 4>
IllegalArgumentException : Tämä tapahtuu, kun hyväksytty argumentti ei ole positiivinen.
Esimerkki havainnollistamaan poikkeusta, joka syntyy, kun n ei ole positiivinen luku:
// Java code to demonstrate the Exception> // of nextInt(n)> import> java.util.*;> public> class> NextInt2 {> >public> static> void> main(String[] args)> >{> > >// create random object> >Random ran =>new> Random();> > >// generating number between 0 and -12345> >// Raises Runtime error, as n is negative.> >int> nxt = ran.nextInt(->12345>);> > >System.out.println> >(>'Generated Random number is : '> + nxt);> >}> }> |
>
java-syöttömerkkijono
>
Ajonaikaiset virheet:
Exception in thread 'main' java.lang.IllegalArgumentException: bound must be positive at java.util.Random.nextInt(Random.java:388) at NextInt2.main(NextInt2.java:14)>
Käytännön sovellukset
Satunnaislukujen luomisella on monia sovelluksia se on lotto, uhkapeli tai pienimuotoinen peli . Alla on esitelty pieni noppapeli, jossa 2 pelaajaa heittää 6-merkin noppaa, 30 pistettä 1. saavuttanut voittaa.
// Java code to demonstrate the Application> // of nextInt(n)> import> java.util.*;> public> class> NextIntAppli {> >public> static> void> main(String[] args)> >{> > >int> sum =>0>, sum1 =>0>, count =>0>, count1 =>0>;> >int> turn =>0>;> > >// creating random object> >Random ran =>new> Random();> >int> flag =>0>;> > >while> (>true>) {> >if> (turn %>2> ==>0>) {> > >int> p1 = ran.nextInt(>6>);> >sum += p1;> >System.out.printf> >(>'Player 1 after turn %d is : %d
'>, turn, sum);> >}> >else> {> > >int> p2 = ran.nextInt(>6>);> >sum1 += p2;> >System.out.printf> >(>'Player 2 after turn %d is : %d
'>, turn, sum1);> >}> >if> (sum>=>30>) {> >flag =>1>;> >break>;> >}> >if> (sum1>=>30>) {> >flag =>2>;> >break>;> >}> >turn++;> >}> >if> (flag ==>1>)> >System.out.println(>'
Player 1 WON!!'>);> >else> >System.out.println(>'
Player 2 WON!!'>);> >}> }> |
>
>
Lähtö:
Player 1 after turn 0 is : 0 Player 2 after turn 1 is : 4 Player 1 after turn 2 is : 2 Player 2 after turn 3 is : 9 Player 1 after turn 4 is : 5 Player 2 after turn 5 is : 9 Player 1 after turn 6 is : 6 Player 2 after turn 7 is : 14 Player 1 after turn 8 is : 8 Player 2 after turn 9 is : 18 Player 1 after turn 10 is : 12 Player 2 after turn 11 is : 21 Player 1 after turn 12 is : 13 Player 2 after turn 13 is : 26 Player 1 after turn 14 is : 18 Player 2 after turn 15 is : 29 Player 1 after turn 16 is : 18 Player 2 after turn 17 is : 34 Player 2 WON!!>