【发布时间】:2014-03-17 04:55:02
【问题描述】:
我有两个整数,让他们成为
int a = 35:
int b = 70;
我想在运行时随机选择其中一个并分配给另一个变量。即
int c = a or b:
我想到的一种方法是用这两个整数创建一个数组,并在 0 和 1 之间找到一个随机整数,并将其用作数组的索引以获取数字..
或者随机化布尔值并在 if-else 中使用。
我的问题是,有没有更好、更有效的方法来实现这一目标? IE。从两个先前定义的整数中选择一个数字?
【问题讨论】:
-
我认为您的 0/1 rand int 解决方案工作正常
-
更多旁注:我想说,如果它总是只有 2 个整数,那么使用
random.nextBoolean()是最简单的方法。不过,使用数组和索引变体会更容易扩展到 2 个以上的值。此外,如果您需要 2 个整数的不同权重,您可以滚动自己的boolean nextBoolean(float probabilityForTrue ) { return random.nextFloat() < probabilityForTrue; }。