Hello, I am new to learning java, and i am trying to build the class for a calculation card game, unfortunately i can't get the public Card top() and Card takeTop() method in the Stock class.
Thanks!!
-------------------------------------------
this is the code for the Stock class:
-------------------------------------------
PHP Code:
public class Stock
{
private Deck deck = new Deck(52);
private int X;
private int Y;
public Stock(Deck deck)
{
this.deck = deck;
}
/**
* The number of cards in the stock(including the top card).
* @return the number of cards.
*/
public int numCardsRemaining()
{
return deck.numCardsRemaining();
}
/**
* The top card of the stock.
* @return the top card of the stock, or null if the stock is empty.
* Acall to this method does not remove the card from the top but
* just returns a reference to it.
*/
/**
* Take the top card from the stock.
* @return the card that was on top of the stock or null if the stock was empty.
* A call to this method reduces the number of cards remaining in the stock by one.
*/
public Card takeTop()
{
}
}
in order to solve the problems you need to know Deck class too, but we can't modify this class as assignment requires.
-------------------------------------------
The code for Deck class:
-------------------------------------------
PHP Code:
import java.util.*;
import java.awt.*;
public class Deck
{
private java.util.List<Card> cards; // The list of cards
private static java.util.Random generator = null;
/**
* Constructor for a shuffled deck of cards.
* @param seed the seed for the random number generator used to
* shuffle the deck. A different unique shuffle is obtained for
* each possible value of seed.
*/
public Deck(long seed)
{
// Create a deck of cards in sorted order of suit then pip count.
cards = new ArrayList<Card>();
for (int suit = Card.SPADES; suit <= Card.CLUBS; suit++) {
for (int pips = 1; pips <= Card.CARDS_IN_SUIT; pips++) {
cards.add(new Card(suit, pips));
}
}
// Now shuffle the deck, using a random number generator based
// on the seed value given as a parameter.
java.util.Random generator = new java.util.Random(seed);
java.util.Collections.shuffle(cards, generator);
}
public int numCardsRemaining()
{
return cards.size();
}
/**
* Get the next card from the deck, reducing the number of cards
* remaining in the deck by one.
* @return the "top" card in the deck
*/
public Card nextCard()
{
return cards.remove(0);
}
/**
* Add the given card to the start (front) of the current deck.
* @param card the card to be placed at the start of the deck
*/
public void addAtStart(Card card)
{
cards.add(0, card);
}
/**
* Add the given card to the end (back) of the current deck.
* @param card the card to be placed on the end of the deck
*/
public void addAtEnd(Card card)
{
cards.add(card);
}
}
------------------------------------------------------------------
so my problems are how to get public Card top() and public Card takeTop() methods in the Stock class without modify the Deck class.
Hi there, Thank you very much that you can help me on my problems, Yes I do have the Card and FoundationRow class, as the code is too long, I made the code as a zip format.
I’m still can’t get the Card top() method working, I introduced a new variable topCard, which is store the value of deck.nextCard(), but when I return the topCard, this still not pass my test class.
Can anyone help on me? Please!!
im doing this assignment 2, so can u share some information with me pls like as stock, foundationrow, foundation otherwise ill share u too, if u want, thx bro a lot.
Bookmarks