Het genereren van willekeurige getallen zelf heeft een goede gebruikswaarde en het kan zeer nuttig zijn om ze te laten bereiken door het gebruik van functies. Java heeft in zijn taal een hele bibliotheek gewijd aan willekeurige getallen, gezien het belang ervan bij dagelijkse programmering. nextInt() wordt in dit artikel besproken.
- java.util.Random.nextInt() : De volgendeInt() wordt gebruikt om de volgende willekeurige gehele waarde uit de reeks van deze willekeurige getallengenerator te halen.
Declaration : public int nextInt() Parameters : NA Return Value : The method call returns the next integer number from the sequence Exception : NA>
Het volgende voorbeeld toont het gebruik van 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);> >}> }> |
>
>
json van Java-object
Uitgang:
The Randomly generated integer is : -2052834321>java.util.Random.nextInt(int n) : De volgendeInt(int n) wordt gebruikt om een willekeurig getal te krijgen tussen 0(inclusief) en het getal dat in dit argument(n) wordt doorgegeven, exclusief.
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.>
Het volgende voorbeeld toont het gebruik van java.util.Random.nextInt(int n)
// 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);> >}> }> |
>
>
Uitgang:
Random number between 0 and 9 is : 4>
Illegale ArgumentUitzondering: Dit gebeurt wanneer het doorgegeven argument niet positief is.
Een voorbeeld om de uitzondering te illustreren die wordt gegenereerd wanneer n geen positief getal is:
lijst met gimp-lettertypen
// 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);> >}> }> |
>
>
Runtime-fouten:
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)>
Praktische toepassingen
Het genereren van willekeurige getallen kent talloze toepassingen het is loterij, gokken of kleinschalig gokken . Hieronder wordt een klein dobbelspel gedemonstreerd waarin een dobbelsteen van 6 punten wordt gegooid door 2 spelers, waarbij de persoon die als eerste 30 punten behaalt, wint.
// 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!!'>);> >}> }> |
>
>
Uitgang:
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!!>