Question: 1. Card.java public abstract class Card implements Comparable{ /* handy arrays for ranks and suits */ /* do NOT change these */ public final static

 1. Card.java public abstract class Card implements Comparable{ /* handy arrays

for ranks and suits */ /* do NOT change these */ public

final static String[] RANKS = { "None", "Joker", "2", "3", "4", "5",

"6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"}; public final static

1. Card.java

public abstract class Card implements Comparable{ /* handy arrays for ranks and suits */ /* do NOT change these */ 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"}; /** creates a card with specified suit and rank  *  * @param suit is the suit of the card (must be a string from Card.SUITS)  * @param rank is the rank of the card (must be a string from Card.RANKS)  */  public Card(String suit, String rank){ // add code here if needed } /** the numerical representation of the rank of the current card  * 

* ranks have the numerical values * Joker = 1, * 2 = 2, 3 = 3, ..., 10 = 10 * Jack = 11, Queen = 12, King = 13, Ace = 14 * * @return the numerical rank of this card */ public abstract int getRank(); /** the string representation of the rank of the current card * * @return the string representation of the rank of this card (must be a string from Card.RANKS) */ public abstract String getRankString(); /** the suit of the current card * * @return the suit of this card (must be a string from Card.SUITS) */ public abstract String getSuit(); @Override public final String toString(){ // outputs a string representation of a card object int r = getRank(); if( r >= 2 && r

2. Deck.java

import java.util.List; /* finish all of the constructors and methods given here */ /* do NOT add any public attributes or methods */ /* add any protected/private attributes you need */ public class Deck{ public Deck(){} public Deck(int nun_jokers){} public List getCards(int num_cards){return null;} public Card getCard(){return null;} public void addCard(Card c){} }

3.Hand.java

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; } /* remove and return the specified card from the hand */ /* return null if the card is not in the hand */ public Card remove(Card card){return new StandardCard(Card.SUITS[4], Card.RANKS[1]);} /* add the specified card to the hand */ public void add(Card card){} }

4.Player.java

public abstract class Player{ protected Hand hand; public Player(Hand hand){ this.hand = hand; } /* play a card from the player's hand */ /* returns null if they cannot play a card and the deck becomes empty */ /* do NOT return null unless you cannot play a card and the deck is empty */ public abstract Card play(Card top_of_discard_pile, Deck deck); public final int cardsLeft(){ return this.hand.numberOfCards(); } }

Hello there. I am new to Java .I have been trying to solve this for quite some time. I would appreciate it if i can get some help.

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!