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

Java 用随机颜色填充每个正方形,java,random,stddraw,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

我试图用正方形填充整个屏幕,每一个都用不同的颜色填充。我能够生成整个屏幕的方块,但我不能让它们成为随机颜色。以下是我到目前为止的情况:

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);
  }
} 
}
}
import java.util.Random;
公共类RGBRandom
{
公共静态void main(字符串[]args)
{
标准设定刻度(0,100);

对于(int x=0;x表达式
Math.random()
生成一个介于0和1之间的实数(不包括1)。您的转换为
(int)
有效地将其转换为
0
。整个表达式需要用括号括起来,以便在将随机数乘以
256
后转换为
int

例如

或者,正如尼卡尔所建议的,使用
Random

Random random = new Random();

...

int r = random.nextInt(256);
int g = random.nextInt(256);
int b = random.nextInt(256);
random.nextInt(256)
将为您提供一个介于0和255(包括255)之间的随机数。最好在循环外部创建
random
的实例。

最好使用
nextInt()
,因此它看起来如下:

int randomNum = rand.nextInt(255)+1;

他们都有相同的颜色还是你有重复的颜色?@inda1发布你的全部代码,我已经在我的答案中包含了你的建议。
int randomNum = rand.nextInt(255)+1;