Je suis coincé en faisant mes devoirs et j'ai du mal à comprendre ce qu'il faut faire ensuite. Donc, mes instructions sont les suivantes:Dans le constructeur par défaut initialiser les attributs
Créer une nouvelle classe appelée
Card
. La case à cocher Constructors from superclass créera un stub de constructeur dans le code.Créer un type énumératif dans un nouveau fichier source appelé
Suit
avec les valeursNONE
,CLUBS
,HEARTS
,SPADES
,DIAMONDS
.Créer un type énumératif dans un nouveau fichier source dans le même paquet que la
Card
classe, appeléeRank
avec les valeursJOKER
,TWO
,THREE
,FOUR
,FIVE
,SIX
,SEVEN
,EIGHT
,NINE
,TEN
,JACK
,QUEEN
,KING
,ACE
.Dans la classe
Card
,
A) Créer un attribut de classe (champ) appelérank
de typeRank
.
B) Créez un attribut de classe (champ) appelésuit
de typeSuit
.
C) Créer des getters et setters pour ces champs. Rendre les setters privés, puisque nous voulons seulement que le constructeur place la carteSuit
etRank
(nous ne voudrions pas qu'un programmeur ou un utilisateur mette plus d'unACE
deCLUBS
par exemple).Créez un constructeur qui accepte un
Suit
et unRank
et utilisez ces valeurs pour définir les attributs. Dans le constructeur par défaut, initialisezsuit
etrank
. Utilisez le constructeur this pour appeler le constructeur créé à l'étape précédente et initialiser le rang et la combinaison avec la valeur de votre choix (par exemple:Rank.ACE
,Suit.CLUBS
).Dans la méthode principale de la classe, construisez un
Card
par défaut pour démontrer l'initialisation du constructeur par défaut. Construire également quelques cartes supplémentaires en utilisant les constructeursSuit
etRank
. Utilisez les variables locales pour contenir les objets.En utilisant la méthode
toString()
à partir de types dénombrées, imprimez laSuit
etRank
de chaqueCard
créé.Créez une classe
Deck
qui contient un champ contenant un tableau de cinquante-quatre cartes (Confinement).Créer un constructeur sur la classe
Deck
qui initialise le tableau de cartes avec la plate-forme standard et deux jokers, en utilisantfor
boucles qui itérer sur lesSuit
etRank
valeurs et définissez les membres du groupe avec le constructeurCard
approprié. Rappelez-vous que les deux Jokers existent seulement en tant que combinaisonsNONE
et que seuls les Jokers utilisent la combinaisonNONE
. Il existe de nombreuses solutions possibles pour créer seulement deux jokers. J'ai utilisé un itérateur, les ai laissés hors de la boucle et les ai ajoutés au début, individuellement. Utilisez une instructionif
pour exclure les jokers dans une bouclefor each
et ajoutez-les avant ou après.Créer une méthode
toString()
dans la classeDeck
, en utilisant une autre bouclefor
pour imprimer tous lesCard
s dans le tableau en appelant la méthodetoString()
sur chaque carte. Cette méthode "demande" auCard
d'imprimer son rang et sa couleur en appelant uniquementtoString()
sur l'objetCard
. Il ne devrait pas y avoir de référence àRank
ouSuit
n'importe où dans cette méthode. LaissezCard
méthodetoString()
faire le travail (délégation).Créez une méthode
main
dans la classeDeck
qui crée unDeck
. Imprimez ensuite le jeu en utilisantSystem.out.println()
. Cela appelleraDeck
méthodetoString()
, qui appelleratoString()
sur chaqueCard
, l'impression du pont entier.
public class Card {
//Default Constructor
Card(){
}
//Create a class attribute (field) called rank of type Rank.
Rank rank;
//Create a class attribute (field) called rank of type Suit
Suit suit;
//Create an Enumerated Type in a new source file called Suit
public enum Suit{
NONE, CLUBS, HEARTS, SPADES, DIAMONDS
}
//Create an Enumerated Type in a new source file called Rank
public enum Rank{
JOKER, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK,QUEEN,KING, ACE
}
//Getters & Setters for Rank/Suit
//Make the setters private, since we only want the constructor to set the card Suit and Rank
public Rank getRank() {
return rank;
}
private void setRank(Rank rank) {
this.rank = rank;
}
public Suit getSuit() {
return suit;
}
private void setSuit(Suit suit) {
this.suit = suit;
}
//Create a constructor that accepts a Suit and a Rank and use those values to set the attributes.
Card (Rank Rank, Suit Suit){
suit = Suit;
rank = Rank;
}
public static void main(String[] args) {
}
}
SO ne fonctionne pas de cette façon. Ne vous attendez pas à ce que vous puissiez simplement copier et coller votre devoir et votre code; et que nous avons passé notre temps libre à lire tout cela pour comprendre où vous êtes exactement coincé; quel est votre problème ... et ainsi de suite. Pour être franc: oubliez ça. Décrivez ce que vous avez essayé jusqu'ici et où vous êtes exactement coincé. – GhostCat
Ok, donc je pensais avoir terminé à l'étape 4/5 correctement. J'ai juste besoin d'aide pour comprendre si j'ai bien fait l'étape 5 et quelqu'un pour expliquer ce que l'étape 6 veut que je fasse? Je viens de poster tout ce qui se passe pour donner une meilleure idée de l'ensemble de ce qui doit être fait et des étapes précédentes que j'aurais pu raté. – BerlinUnited
De quoi exactement les getters et les setters sont-ils nécessaires? – BerlinUnited