用随机颜色填充每个正方形

ind*_*da1 3 java random stddraw

我试图用正方形填充整个屏幕,每个正方形填充不同的颜色.我能够生成整个正方形的屏幕,但我不能让它们成为随机颜色.这是我到目前为止:

import java.util.Random;

public class RGBRandom
{
  public static void main(String[] args)
{
StdDraw.setScale(0, 100);

for (int x = 0; x <= 100; x++)
{     
  for (int y = 0; y <= 100; y++)
  {
    int r = (int)Math.random()*256;

    int g = (int)Math.random()*256;

    int b = (int)Math.random()*256;

    StdDraw.setPenColor(r, g, b);
    StdDraw.filledSquare(x, y, 0.5);
  }
} 
}
}
Run Code Online (Sandbox Code Playgroud)

ᴇʟᴇ*_*ᴀтᴇ 5

表达式Math.random()生成0到1之间的实数(不包括1).你的演员(int)有效地将其转换为0.你需要在整个表达式周围使用括号,以便在将int随机数乘以之后进行转换256.

例如

int r = (int) (Math.random() * 256);
Run Code Online (Sandbox Code Playgroud)

或者,正如Nichar建议的那样,使用Random:

Random random = new Random();

...

int r = random.nextInt(256);
int g = random.nextInt(256);
int b = random.nextInt(256);
Run Code Online (Sandbox Code Playgroud)

random.nextInt(256)会给你0和255(含)之间的随机数.最好创建Random循环外部的实例.