我试图通过询问Google来找出为什么有时用“%254”来设置Java图形的颜色,但我找不到任何答案。有人可以解释吗?谢谢。
最佳答案
在示例中,您给出了注释:
public void paint(Graphics g) {
g.setColor(new Color((int)(Math.random()*1000) % 254, (int)(Math.random()*1000)%254, (int)(Math.random()*1000)%254))
....
}
%
运算符是取除法运算的其余部分(而不是结果)的模运算符。我相信这里使用模块254,因为可以表示255种颜色。通过执行模254,可以确保Math.random() * 1000
的结果(介于0和1000之间)永远不会大于255,从而确保您不会超过255的限制。这既是事实,又是推测,因此我很容易被证明是错误的。