生成随机数本身具有良好的实用价值,并且通过使用函数实现随机数可以证明是非常有用的。 Java在其语言中已经将整个库专用于随机数,从而看到了它在日常编程中的重要性。本文讨论了nextInt()。
- java.util.Random.nextInt():nextInt()用于从此随机数生成器的序列中获取下一个随机整数值。
Declaration: public int nextInt() 参数: NA 返回值: 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)中所传递的数字(不包括)之间的随机数。
Declaration: public int nextInt(int n) 参数: n: This is the bound on the random number to be returned. Must be positive. 返回值: 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); } }
输出:
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)
Practical Applications
产生随机数有许多应用,无论是彩票,赌博还是小规模游戏。下面展示了一个小型骰子游戏,其中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\n", turn, sum);
}
else {
int p2 = ran.nextInt(6);
sum1 += p2;
System.out.printf
("Player 2 after turn %d is:%d\n", turn, sum1);
}
if (sum >= 30) {
flag = 1;
break;
}
if (sum1 >= 30) {
flag = 2;
break;
}
turn++;
}
if (flag == 1)
System.out.println("\nPlayer 1 WON!!");
else
System.out.println("\nPlayer 2 WON!!");
}
}
输出:
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!!
相关用法
- Java Java.util.function.IntPredicate用法及代码示例
- Java Java lang.Long.numberOfTrailingZeros()用法及代码示例
- Java Java.util.concurrent.Phaser用法及代码示例
- Java Java lang.Long.reverse()用法及代码示例
- Java Java lang.Long.lowestOneBit()用法及代码示例
- Java Java lang.Long.byteValue()用法及代码示例
- Java Java lang.Long.highestOneBit()用法及代码示例
- Java Java.util.function.LongPredicate用法及代码示例
- Java Java.util.function.DoublePredicate用法及代码示例
- Java Java.util.function.BiPredicate用法及代码示例
- Java Java.util.concurrent.RecursiveAction用法及代码示例
- Java Java lang.Long.numberOfLeadingZeros()用法及代码示例
注:本文由纯净天空筛选整理自suman_709大神的英文原创作品 Java.util.Random.nextInt() in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。