2015-01-24 2 views
0

У меня возникла проблема с созданием нового цвета, который будет случайным в Java. Я получаю синтаксическую ошибку, говорящую, что double, double, double не так, как вы определяете новый цвет. Как бы я это сделал? В любом случае, вот код, который дает мне проблемы.Java newColor constructor randomized

double colorCode = (double) (Math.random()); 

    double r = colorCode % 255; 
    double g = (colorCode*2) % 255; 
    double b = (colorCode+128) % 255; 

    page.setColor(new Color(r,g,b); 

ответ

0

Конструктор принимает поплавки, не двойники:

public Color(float r, 
      float g, 
      float b) 
0

Цвет принимает плавать или ИНТ в аргументах конструктора

1

ошибка, вы получаете, потому что конструктор Color «s принимает три int сек от 0-255 или до трех float s от 0-1. Вы проходите три double s. Этот конструктор не существует.

В любом случае, это плохой и сложный способ генерации случайного цвета. Просто сделайте примерно следующее:

private static final Random generator = new Random(); 

public static Color randomColor() { 
    return new Color(generator.nextInt(256), generator.nextInt(256), generator.nextInt(256)); 
}