2017-11-25 5 views
0
String model; 
int year; 
enum Color {GREEN, BLUE, RED}; 
double price;  

カラーシェード。コンストラクタにENUMタイプを割り当てます。

public Car(String model, int year, Color shade, double price) { 

    this.model = model; 
    this.year = year; 
    this.shade= shade; 
    this.price = price; 
} 

これは問題ありませんか?私は実際にmainメソッドでオブジェクトを作ると、まだエラーが出る。

+0

いいえ、あなたはしませんでした。それはenumsが動作することを知らないThats。タイプを宣言しましたが、インスタンスを定義しませんでした。 – Ivan

+0

ねえ、どうすればいいですか? –

答えて

1

構文:this.Color = shade; は、CarクラスのColorというインスタンスフィールドを参照します。 クラスにはColorフィールドがありません。

この:

enum Color {GREEN, BLUE, RED}; 

は、列挙型クラスの宣言です。

はちょうどそれColorに割り当てることができるようにCarのフィールドを紹介:

public class Car { 
    String model; 
    int year; 
    Color color; 
... 
    public Car(String model, int year, Color shade, double price) { 
     this.model = model; 
     this.year = year; 
     this.color = shade; 
     this.price = price; 
    } 
} 
+0

ああ、持っています!問題が解決しました。ありがとうございました:) –

+0

@DannyBorisOvこの回答があなたの問題を解決した場合は、回答者に報酬を与え、将来の訪問者に正解が何であるかを知らせることができます。 –

0
enum Color {GREEN, BLUE, RED} ; 

public class Car{ 

    String m_model; 
    int m_year; 
    Color m_color; 
    double m_price; 

    public Car(String model, int year, Color shade, double price) { 

     this.m_model = model; 
     this.m_year = year; 
     this.m_color = shade; 
     this.m_price = price; 

     System.out.println("A new Car has been created!"); 
    } 


    static public void main(String[] args) 
    { 

     Car car = new Car("Ferrari", 2017, Color.RED, 350000); 
    } 
} 
関連する問題