我有一个 iPhone 版本的应用程序,它使用一些代码来设置颜色。
((rand() % 176) * 80) / 256.0f
我是新手,objective c
所以我无法弄清楚这是如何工作的。我想在Java
.
在 Java 中,我们通常使用Random()
. 我想如何使用来实现上述功能Random r = Random();
我有一个 iPhone 版本的应用程序,它使用一些代码来设置颜色。
((rand() % 176) * 80) / 256.0f
我是新手,objective c
所以我无法弄清楚这是如何工作的。我想在Java
.
在 Java 中,我们通常使用Random()
. 我想如何使用来实现上述功能Random r = Random();
在 Android 中,我首先会初始化一个变量rand = new Random()
。然后我会把你的表达写成:
rand.nextInt(176) / 3.2f
(请注意。)每次我需要一种新颜色时,80 / 256.0 == 1 / 3.2
我只会为rand
一次分配一个值并重用同一个对象。Random
经过一些粗略的工作,您的原始代码似乎只是一种计算均匀分布在 0 和 55.0f 之间的随机浮点值的奇特方式。因此,做同样事情的一个更简单的方法是:
rand.nextFloat(55)
唯一的缺点是它与原始代码不太相似(尽管它的行为相同)。
Java中等效的单行代码是:
((new Random().nextInt() % 176) * 80) / 256.0f;
更多关于JavaDoc上的随机类
Random
显然你不应该每次都创建一个新实例。
Random r = new Random();
// call r.nextInt() each time you need a new random integer
double color = ((r.nextInt() % 176) * 80) / 256.0f;