java - 如何在 Android Java 中创建一个介于最小值和最大值之间的随机数,不包括介于最小值和最大值之间的一些数字?

标签 java android random public

如何在 Android Java 中创建一个介于最小值和最大值之间的随机数,排除一些介于最小值和最大值之间的数字?

我有三个变量,每个变量都是 1-100 之间的随机数。我能够使用 math.rand() 生成随机数,但我试图确保这三个数字不匹配。我做了一个使用 while 和 if 语句的工作,但我想看看是否有一行命令可以做到这一点,这样我就可以把它放在 Activity 类下面,这样它就是公共(public)变量。在那个区域( Activity )我不能使用 while 和 if 语句,我只能在 onCreate 中使用,因为 void 或其他原因。

预先感谢您的帮助,并将投票支持任何有助于找到有关此信息的帮助或想法。

最佳答案

不需要“一行命令”。您可以使用构造函数或初始化程序 block 来做任何您想做的事情。

public class blah
{
    public int a, b, c;

    // this runs when the object is created
    {
        Random r = new Random();
        a = r.nextInt(100) + 1;
        do { b = r.nextInt(100) + 1; } while (a == b);
        do { c = r.nextInt(100) + 1; } while (a == c || b == c);
    }
}

当然,您也可以将这些东西放入构造函数中——事实上,这几乎就是 Java 在看到它时所做的事情。甚至像 public int x = 1; 这样的初始化内容实际上都进入了构造函数。将它放在构造函数中的唯一缺点是,您需要将它添加到每个构造函数,而如果您使用初始化器( block 或单个语句),Java 会为您完成。

关于java - 如何在 Android Java 中创建一个介于最小值和最大值之间的随机数,不包括介于最小值和最大值之间的一些数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720325/

相关文章:

function - Lua 5.1.4 math.random 实际上不是随机的

Java递归: Determine how many numbers in an array is greater than index 1

java - 对++ 和双重 Actor 感到好奇

java - 如何检查一个程序是否安装在Windows系统上

java - 对网络服务的困惑

java - 格式问题

java - 是否可以使用字符串作为随机实例的种子?

java - 当我删除某些内容时,ListView 不会刷新

java - 随机生成一个由对象及其父对象组成的树结构

python - 我可以从开区间上的均匀分布中抽取一个随机值吗?