乱数を生成すること自体には十分な利用価値があり、関数を使用してそれを実現すると非常に便利です。 Java は、日常のプログラミングにおける乱数の重要性を考慮して、ライブラリ全体を乱数専用に開発しました。 nextInt() についてはこの記事で説明します。
- java.util.Random.nextInt() : nextInt() この乱数発生器のシーケンスから次のランダムな整数値を取得するために使用されます。
Declaration : public int nextInt() Parameters : NA Return Value : The method call returns the next integer number from the sequence Exception : NA>
次の例は、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);> >}> }> |
テキストサイズラテックス
>
>
出力:
The Randomly generated integer is : -2052834321>java.util.Random.nextInt(int n) : nextInt(int n) 0 (両端を含む) からこの引数 (n) で渡された数値までの範囲の乱数を取得するために使用されます。
string.format Java文字列
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.>
次の例は、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);> >}> }> |
>
>
document.queryselector
出力:
Random number between 0 and 9 is : 4>
IllegalArgumentException : これは、渡された引数が正でない場合に発生します。
n が正の数ではない場合に生成される例外を示す例:
// 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);> >}> }> |
>
>
ソートヒープ
実行時エラー:
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)>
実用的なアプリケーション
乱数の生成にはさまざまな用途があります。 宝くじ、ギャンブル、または小規模なゲーム 。以下では、2 人のプレイヤーが 6 マークのサイコロを投げ、最初に 30 点を確保した人が勝ちとなる、小さなサイコロ ゲームを示しています。
// 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>=>> >flag =>1>;> >break>;> >}> >if> (sum1>=>> >flag =>2>;> >break>;> >}> >turn++;> >}> >if> (flag ==>1>)> >System.out.println(>'
Player 1 WON!!'>);> >else> >System.out.println(>'
Player 2 WON!!'>);> >}> }> |
>
Linuxホスト
>
出力:
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!!>