2013-02-09 21 views
6

Jestem nowicjuszem w Javie i staram się, aby moje wyliczenie działało. Pracuję w BlueJ i mam 2 klasy (próbuję zbudować grę w pasjansa). moja pierwsza klasa nazywa się Card iw tej klasie mam wyliczenie o nazwie Suit. Moja druga klasa to Deck i próbuję wywołać wyliczenie z tej klasy. Moim problemem jest pętla for for deck, w której zadeklarowałem kolor Garnitur. Nie rozpoznaje Sukienki klasowej.Uzyskaj wyliczenie z innej klasy

Mój kod jest poniżej, jeśli ktoś może powiedzieć, co robię źle ... byłoby to bardzo cenne. Dzięki!

public class Deck 
{ 

private Bag<Card> cardBag = new Bag<Card>(); 

public Deck() 
{ 
    for(Suit suit : Suit.values()) 
    { 
     Card card= new Card (suit, 5); 
    } 
} 

//

public class Card 
{ 
public enum Suit 
{ 
    H, S, C, D 
} 

private Suit suit; 
private int valueOfCard; 

public static final int ACE = 1; 
public static final int JACK = 11; 
public static final int QUEEN = 12; 
public static final int KING = 13; 

public Card(int valueOfCard, Suit suit) 
{ 
    this.valueOfCard= valueOfCard; 
    this.suit=suit; 
} 
} 
+0

'wyliczenie' i' wyliczenie' to nie to samo. –

+0

W celu uzyskania informacji na przyszłość, prosimy o podanie dokładnego błędu kompilatora w kwerencie. –

+0

@RohitJain Oh ... przykro mi, że nie wiedziałem. Jaka jest różnica, jeśli mogę zapytać? –

Odpowiedz

24

Istnieją co najmniej dwa możliwe rozwiązania tutaj:

  1. Umieścić Suit wyliczenie w oddzielnym pliku.

  2. Dostęp do Suit z pełną nazwą w innych klasach. To jest użycie Card.Suit, a nie tylko Suit.

+0

Działa doskonale. Willl przyjmie za 7 minut :) Dzięki! –

+1

Najbardziej przydatna odpowiedź :) Dzięki! –