我试图通过询问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的限制。

这既是事实,又是推测,因此我很容易被证明是错误的。

10-08 09:00