2016-10-05 9 views
-1

私はJavaを使い慣れていないので、クラスの構文がどのように機能するのかは分かりません。私は次のクラスを持っています:JavaでCardクラスのインスタンスを作成するには

import java.util.ArrayList; 
import java.util.List; 

public class Card { 

    public final Face face; 
    public final Suit suit; 
    private boolean visible; 

    public enum Face { 
    TWO(2), THREE(3), FOUR(4), FIVE(5), SIX(6), SEVEN(7), EIGHT(8), NINE(
             9), TEN(10), JACK(10), QUEEN(10), KING(10), ACE(11); 

    private int value; 

    Face(int value) { 
     this.value = value; 
    } 

    public int getValue() { 
     return this.value; 
    } 
    } 

    public enum Suit { 
    CLUB, DIAMOND, HEART, SPADE; 
    } 

    public Card(Face face, Suit suit){ 
    this.face = face; 
    this.suit = suit; 

    } 

    @Override 
    public boolean equals(Object o){ 
    if(!(o instanceof Card)) return false; 
    if(this == o) return true; 

    return this.toString().equals(o.toString()); 
    } 



    public String toString(){ 
    return this.face.name() + this.suit.name(); 

    } 

    private static final List<Card> protoDeck = new ArrayList<Card>(); 
    static { 
    for (Suit suit : Suit.values()) 
     for (Face face : Face.values()) 
     protoDeck.add(new Card(face, suit)); 
    } 

    public static ArrayList<Card> newDeck() { 
    return new ArrayList<Card>(protoDeck); // Return copy of prototype deck 
    } 

    public boolean isVisible() { 
    return this.visible; 
    } 

    public void setVisible(boolean b){ 
    this.visible = b; 
    } 

} 

私はこのクラスのインスタンスを作成できますか?たとえば、心の5つのカードを作成するにはどうすればいいですか?このよう

+0

は – Bohemian

答えて

4

new Card(Card.Face.FIVE, Card.Suit.HEART) 
+0

私は「何が[オブジェクトの作成](https://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html)の公式のJavaドキュメントを参照してください。私はエラーが発生しましたが、「 シンボルを見つけることができません。[ERROR] symbol:変数Face」とスーツのエラーが同じです – 123

+0

新しいカード(Card.Face.FIVE、Card.Suit.HEART) – phnmnn

+0

それ。ありがとう。 – 123

関連する問題