Card Dealer In Java in Less than 5 minutes



Code:

package design;

import java.util.Collections;
import java.util.Stack;


public class CardDealer {

private int totalPlayers;
private static Stack<Card> deck;

CardDealer(int players){
totalPlayers=players;
deck =  Deck.getCardDeck();
}

public static void main(String[] args) {
CardDealer cardDealer = new CardDealer(5);
cardDealer.dealCards();
}

public void dealCards(){
int cardsToPlayer = deck.size()/totalPlayers;

for(int i=0;i<cardsToPlayer;i++){
for(int j=1;j<=totalPlayers;j++){
System.out.println("Player:"+j+ " gets "+deck.pop());
}
}
}
private int getPlayers() {
return totalPlayers;
}
}
 class Deck{

static Stack<Card> deck = new Stack<Card>();
static Deck d=null;

static {
d = new Deck();
}

public static Stack<Card> getCardDeck(){
return deck;
}

private Deck(){
populateDeckWithcards();
shuffle();
}

private void shuffle() {
Collections.shuffle(deck);
}

private void populateDeckWithcards() {
CardColor[] cardColor = CardColor.values();
CardNumber[] cardNumber = CardNumber.values();
for(CardColor cc : cardColor){
for(CardNumber cn : cardNumber){
deck.push(new Card(cc,cn));
}
}
}
 }
 class Card{
CardColor cc;
CardNumber cn;

public Card(CardColor cc, CardNumber cn) {
this.cc=cc;
this.cn=cn;
}

@Override
public String toString() {
return "Card [ " + cc + ",  " + cn + "]";
}
 }
 enum CardColor{
SPADE,HEART,DIAMOND,CLUB;
 }
 enum CardNumber{
ACE,TWO,THREE,FOUR,FIVE,SIX,SEVEN,EIGHT,NINE,TEN,JACK,QUEEN,KING;
 }

Comments

Popular posts from this blog

Java Interview : Threads

Spring Framework Interview Notes : Part Two Wiring