Question: public abstract class Card implements Comparable { /* handy arrays for ranks and suits */ public final static String[] RANKS = { None, Joker, 2,

 public abstract class Card implements Comparable{ /* handy arrays for ranks

and suits */ public final static String[] RANKS = { "None", "Joker",

"2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King",

public abstract class Card implements Comparable{

/* handy arrays for ranks and suits */ public final static String[] RANKS = { "None", "Joker", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"}; public final static String[] SUITS = { "Diamonds", "Clubs", "Hearts", "Spades", "NONE"}; protected String suit; protected String rank;

// creates a card with specified suit and rank

public Card(String suit, int rank){ this.suit = suit; this.rank = RANKS[rank]; }

public Card(String suit, String rank){ // add code here if needed this.suit = suit; this.rank = rank; }

public abstract int getRank();

// the string representation of the rank of the current card

public abstract String getRankString();

// the suit of the current card

public abstract String getSuit();

@Override public final String toString(){ // outputs a string representation of a card object int r = getRank(); if( r >= 2 && r

}

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

public class Deck{ protected List deck; public Deck(){ this(0); }

public Deck(int num_jokers){ deck = new ArrayList(52 + num_jokers); for (int i = 2; i

// testing for (int i=0; i

} public List getCards(int num_cards){ List removedCards = new ArrayList(num_cards); for (int i=0; i

// testing for (int i=0; i

public Card getCard(){ Card removedCard=deck.get(0); deck.remove(0 ); System.out.println(removedCard.getRank() + removedCard.getSuit()); for (int i=0; i

public void addCard(Card c){ deck.add((StandardCard) c); for (int i=0; i

}

import java.util.List;

public class Hand{ protected List cards;

public Hand(List cards){ this.cards = cards; }

public int numberOfCards(){ if( this.cards == null ){ return -1; }else{ return this.cards.size(); } }

public List getCards(){ return this.cards; }

public Card remove(Card card){ Card cardtoReturn = null; for (int i=0;i

/* add the specified card to the hand */ public void add(Card card){ this.cards.add(card); }

}

public abstract class Player{ protected Hand hand;

public Player(Hand hand){ this.hand = hand; }

public abstract Card play(Card top_of_discard_pile, Deck deck);

public final int cardsLeft(){ return this.hand.numberOfCards(); }

}

public class StandardCard extends Card implements Comparable{ public StandardCard(String rank, String suit) { super(suit,rank); for (int i = 0; i

public StandardCard(int rank, String suit) { super(suit,rank); if (rank != 1) { for (int i = 0; i

public int getSuitInt(String suit) { int suitInt = 0; for (int i = 0; i

@Override public String getRankString() { return this.rank; }

@Override public String getSuit() { return this.suit; }

@Override public int compareTo(Card o) { // int suitofFirstCard = 0; // int suitofSecondCard = 0; int rankofFirstCard = this.getRank(); int rankofSecondCard = o.getRank(); int value = 0; int suitofFirstCard = getSuitInt(this.getSuit()); int suitofSecondCard = getSuitInt(o.getSuit());

// for (int i = 0; i

if (suitofFirstCard > suitofSecondCard){ value = 1; } else if (suitofFirstCard rankofSecondCard){ value = 1; } else { value = -1; } } return value; }

public static void main (String[] args) { // int counter = 0; // for (int i = 1; i

hand.add(c); System.out.println(hand.getCards()); hand.remove(c); System.out.println(hand.getCards()); }

}

Complete the Hand class that is provided. You need to implement two methods (remove and add). You do not need to add very much code to this class. Complete the Hand class that is provided. You need to implement two methods (remove and add). You do not need to add very much code to this class

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!