Java 如何生成指定范围内的随机整数
假设我们处于需要通过Java程序生成指定范围内的随机整数的情况。对于给定的情况,Java提供了两种不同的方法。我们可以使用Random类或random()方法。让我们在下一节中讨论它们。
在指定范围内生成随机整数
我们将使用以下类和方法 –
Random类
我们创建这个类的对象,返回给定范围内的伪随机数。我们将自定义该对象并应用我们自己的逻辑来生成指定范围内的任意随机值。为了检索范围内的值,我们需要一个内置的名为‘nextInt()’的方法,它从指定的序列中返回下一个整数值。它与Random类的对象一起使用。
以下是创建Random类对象的语法 –
语法
Random nameOfObject = new Random();
Math.random()
这是Math类的静态方法,用于返回类型为double的伪随机数。通常情况下,它会生成一个介于0.0到1.0之间的随机数,然而我们会根据我们的逻辑来生成整数。
方法1
- 创建一个带有两个整数类型参数的用户定义方法。思路是在这两个参数之间生成一个随机数。
-
现在,定义一个Random类的对象,并使用内置的‘nextInt()’方法与该对象一起生成一个随机整数。
-
在main()方法中,调用我们在第一步中创建的用户定义的方法,使用两个参数表示范围。
示例
以下示例演示了使用Random类生成给定范围内的随机整数的用法。
import java.util.*;
public class Randomly {
public static void generator(int start, int end) {
Random rndm = new Random(); // object of class Random
int val = rndm.nextInt(end - start) + start;
System.out.println("A random value between given range: " + val);
}
public static void main(String[] args) {
int start = 5;
int end = 10;
generator(start, end); // calling the method with arguments
}
}
输出
A random value between given range: 5
方法2
- 首先,定义一个整数类型的范围。
-
使用for循环来遍历指定的范围并产生多个随机数。
-
由于’Math.random()’返回的是一个double值,因此我们需要将其强制转换为整数。
示例
在下面的示例中,我们将使用Math.random()生成多个随机数。
public class Randomly {
public static void main(String[] args) {
int range = 5; // given range
for(int i = 1; i <= range; i++) {
double db1 = Math.random() + i;
int val = (int) db1; // typecasting to integer
System.out.println("Values at " + i + " : " + val);
}
}
}
输出
Values at 1 : 1
Values at 2 : 2
Values at 3 : 3
Values at 4 : 4
Values at 5 : 5
方法3
- 创建一个用户定义的方法,包括两个整数类型的参数来定义范围
-
使用’Math.random()’生成一个随机值,并将其强制转换为整数,然后打印出来
示例
下面的示例演示了如何使用Math.random()在给定范围内生成随机整数。
import java.util.*;
public class Randomly {
public static void generator(int start, int end) {
double val1 = Math.random() * (end - start) + start;
int val2 = (int) val1; // typecasting
System.out.println("A random value between given range: " + val2);
}
public static void main(String[] args) {
int start = 5;
int end = 10;
generator(start, end); // calling the method
}
}
输出
A random value between given range: 5
结论
在本文中,我们讨论了几个用于生成特定范围内随机整数的Java程序。在此过程中,我们了解了Random类和Math.random()方法的使用。两者都返回伪随机数。