1
我試圖創建一個包含單獨的不同顏色的數組。當給出範圍'n'時,顏色數組將自動創建。它是如下:創建具有不同顏色的顏色陣列
variable n = 2;
colourarrray = [red,green];
variable n = 4;
colourarrray = [red,green,blue,yellow];
什麼是最簡單的方法來產生這樣的顏色數組?
我試圖創建一個包含單獨的不同顏色的數組。當給出範圍'n'時,顏色數組將自動創建。它是如下:創建具有不同顏色的顏色陣列
variable n = 2;
colourarrray = [red,green];
variable n = 4;
colourarrray = [red,green,blue,yellow];
什麼是最簡單的方法來產生這樣的顏色數組?
一個枚舉。因爲它是可擴展的。
public enum Colors
{
BLACK(255, 255, 255),
WHITE(0, 0, 0);
private int red;
private int green;
private int blue;
private Colors(final int red, final int green, final int blue)
{
this.red = red;
this.green = green;
this.blue = blue;
}
public int red()
{
return red;
}
public int green()
{
return green;
}
public int blue()
{
return blue;
}
}
然後dinamically將它們添加到List<Colors>
,因爲你需要它們。
因爲你沒有把任何規範,附加的相關信息或任何你的問題,我有什麼好,現在做的事:
private java.util.Random rnd = new java.util.Random();
public java.awt.Color[] getColors(int num) {
java.util.List<java.awt.Color> colors = new java.util.ArrayList<>(num);
int i = 0;
while (i++ < num) {
colors.add(new java.awt.Color(rnd.nextInt(255), rnd.nextInt(255), rnd.nextInt(255), 100));
}
java.awt.Color[] array = colors.toArray(new java.awt.Color[num]);
return array;
}
哪裏是你的Java代碼? – 2013-10-02 14:10:48
您可以使用[LinearGradientPaint]創建一個色譜,如[本答案](http://stackoverflow.com/a/6996263/418556)所示。然後,您可以使用循環獲取相關顏色,並遞增用於獲取漸變中相應顏色的「x」值。 –