如何在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()方法的使用。两者都返回伪随机数。

更新于:2023年7月20日

720 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.