Java随机数

如何生成Java随机数

5. 7. 22.对于我们人类来说,很容易生成一个随机数。我们所要做的就是问自己一个数字,一个突然出现在我们的脑海中。

如果仅仅是编程那么容易,对吧?在Java中,如果知道如何生成随机数很容易。

在本指南中,我们将讨论可用于生成随机数的三种方法。我们将通过示例说明每种方法在数字猜谜游戏中的工作方式。

产生一个随机数

我们都玩过其中一种要求您在某个时候猜一个数字的游戏。如果您猜对了,其中一些甚至会颁发奖品。对于本指南,我们将使用Java创建一个数字猜谜游戏。

当然,第一步是生成一个随机数。没有随机数,我们的游戏将不会很有趣。让我们逐一介绍可用于执行此操作的三种方法。

使用随机类

Java有一个方便的类,称为“ Random”,您可以使用该类生成随机数。我们将通过使用java.util.Random类来生成随机数流来开始我们的数字猜测游戏:

import java.util.Random;

 

class Main {

       public static void main(String args[]) {

              Random random_number_generator = new Random();

              int random_number = random_number_generator.nextInt(25);

 

              System.out.println(random_number);

       }

}

 

当我们运行该类三次时,将生成三个随机数:

22

15

19

我们从导入类开始java.util.Random。然后,我们创建了一个此类的实例“ random_number_generator”。使用此实例,我们可以生成随机数。

nextInt()方法允许我们生成介于0和另一个指定数字之间的随机数。在上面,我们指定了数字25。这意味着我们的生成器将返回的所有数字都将在025之间。

使用Math.random()

Math.random()方法需要更多一点的工作使用,但它仍然是一个很好的方式来产生一个随机数。让我们使用创建一个随机数生成器序列Math.random()

class Main {

       public static void main(String args[]) {

              int small = 0;

              int large = 25;

 

              int random_number = (int)(Math.random() * (large - small + 1) + small);

              System.out.println(random_number);

       }

}

Math.random()内置于Java中。这意味着我们不必将其导入代码中。

我们首先声明两个变量。“ small”指定下限,在该下限范围内不应生成任何数字;是上限,在该上限之上不应生成任何数字。

然后,我们使用了一个公式来生成一个随机数。这是因为Math.random()它本身不会返回整个随机数。Math.random方法返回0.01.0之间的随机数。我们必须使用上面的公式将其转换为我们范围内的整数。

当我们运行代码三次时,将生成三个随机数:

2

1

9

使用ThreadLocalRandom

ThreadLocalRandom是可用于生成随机数的类。

当您要并行生成多个随机数时,最好使用此类。这通常发生在多线程环境中。 

让我们使用此方法创建一个随机数生成器:

import java.util.concurrent.ThreadLocalRandom;

 

class Main {

       public static void main(String args[]) {

              int small = 0;

              int large = 25;

 

              ThreadLocalRandom random_number_generator = ThreadLocalRandom.current();

              int random_number = random_number_generator.nextInt(small, large);

              System.out.println(random_number);

       }

}

我们从导入ThreadLocalRandom库开始,该库包含用于生成随机数的类。然后,我们指定了两个变量,用于设置随机数生成器的下限和上限。

我们已经声明了一个名为random_number_generator的变量,该变量引用ThreadLocalRandom类。然后,我们使用了该nextInt()方法,并指定了“ small”“ large”变量作为参数,以便生成一个随机数。

执行我们的程序三次,将返回三个随机数:

4

23

15

现在,我们准备开始构建其余的猜测游戏。

创建猜测逻辑

现在我们知道如何生成随机数。构建游戏的下一步是创建允许用户猜测随机数的逻辑。

您可以将上面的任何示例与该代码配合使用以使其工作。我们的代码段中的变量名已设置为与以下示例兼容。

让我们从使用“ Scanner”类开始,让用户猜一个数字开始:

此代码要求我们的用户猜测125之间的数字:。用户输入到Java控制台的值将存储为变量“ user_guess”

然后,我们将编写一条if语句,该语句检查用户猜测的数字是否等于程序生成的数字:

import java.util.Scanner;

 

class Guessing {

    public static void main(String[] args) {

        // Guessing code goes here

        Scanner guess = new Scanner(System.in);

 

        System.out.println("Guess a number between 1 and 25: ");

        int user_guess = guess.nextInt();

        int small = 0;

        int large = 25;

 

        int random_number = (int) (Math.random() * (large - small + 1) + small);

        if (user_guess == random_number) {

            System.out.println("You have correctly guessed the number!");

        } else {

            System.out.println("Your guess is incorrect!");

        }

    }

}

让我们运行程序并输入125之间的数字:

Guess a number between 1 and 25:

7

Your guess is incorrect!

如果我们正确猜出了数字,程序将返回以下内容:

Guess a number between 1 and 25:

9

You have correctly guessed the number!

仅需几行代码,我们就能够成功创建一个能够生成随机数进行猜测的游戏。

 

 

结论

随机数在编程中具有广泛的用途。在此示例中,我们介绍了如何在猜谜游戏中使用随机数。

可以使用三种方法来生成随机数:

  • 使用Random类
  • 使用内置Math.random()方法
  • 使用ThreadLocalRandom类

您在寻找挑战吗?更改我们的猜测游戏代码,以便您可以进行多次猜测。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值