2016-06-14 53 views
-1

次の表のように16進数の色をプライベート配列に格納するにはどうすればよいですか?16進数の色を配列に格納する方法

Name R G B 
BLACK 00 00 00 
NAVY 00 00 80 
BLUE 00 00 FF 

色の名前は公開列挙型に格納されます。配列はクラス属性でなければなりません。

public enum COLOR_NAMES { 
    BLACK, NAVY, BLUE 
} 
+1

「配列はまた、クラス属性でなければなりません」 - それが何を意味するのでしょうか? –

+0

4つのフィールド( 'COLOR_NAMES name'、' int r'、 'int g'、' int b')を持つクラスを作成し、その配列を作成します。 – Andreas

答えて

2

あなたはあなたのためだけに値を格納する列挙型を使用することができます。

public enum COLORS { 
    BLACK(0x00, 0x00, 0x00), 
    NAVY(0x00, 0x00, 0x80), 
    BLUE(0x00, 0x00, 0xFF); 

    private int red; 
    private int green; 
    private int blue; 

    private COLORS(int red, int green, int blue) { 
     this.red = red; 
     this.green = green; 
     this.blue = blue; 
    } 

    public int getRed() { 
     return this.red; 
    } 

    public int getGreen() { 
     return this.green; 
    } 

    public int getBlue() { 
     return this.blue; 
    } 
} 
+0

列挙型と配列を分離する必要があります(enum public、array private access) – neox2811

+0

問題は、javaで配列キーとして列挙型を使用できないことです。私は推測するマップを使用することができますが、なぜカラー値はプライベートである必要がありますか? – tkausl

+0

それは割り当てです – neox2811

関連する問題