java - 随机函数的差异

标签 java

我正在创建一个 1-100 的随机数,我正在查看一些 Stackoverflow 问题以寻找正确的方法,但我对许多不同的建议感到困惑。 使用这个有什么区别:

    int random= (int)(Math.random()*((100-1)+1));

这个:

int random= (int)(Math.random()*(100);

还有这个:

    int random= 1+ (int)(Math.random()*((100-1)+1));

最佳答案

int random = (int)(Math.random()*(x);

这会将 random 设置为 0x - 1 之间的任意整数。

int random = 1 + (int)(Math.random()*(x);

1 添加到整个表达式中只是将其更改为 1x 之间的任何整数。

(int)(Math.random()*((100-1)+1))

是多余的,等同于

(int)(Math.random()*(100)

所以请注意:

1 + (int)(Math.random()*(x) 返回一个 int1x + 1

但是

(int)(Math.random()*(x + 1) 返回一个 int0x + 1

关于java - 随机函数的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888900/

相关文章:

java - GUI 中的 JLabel 重叠文本

java - 如何在 JTextArea 中画线并改变特定单词的颜色

java - URL 查询给出的结果与 postman 不同

java - Java 中的 Play Framework 表单示例

java - 在Java中逐个元素地求和两个数组

java - 访问部署在 WebSphere Liberty 集群上的应用程序时出现证书问题

java - 如何在Android中实现SearchView

java - 这是代码中的一种死锁吗?

JavaFX:仅在 Linux 上找不到或加载主类

本地部分的 javax.mail.internet.InternetAddress UTF-8