From c6ddaabbb32c9928be604788efb3a0f781fb8e2f Mon Sep 17 00:00:00 2001 From: Oliv Date: Wed, 1 Jul 2015 16:21:18 +0200 Subject: [PATCH] Add implemented equals,hashcode,tostring for Card, tostring for Deck --- src/main/java/deck/Card.java | 24 ++++++++++++++++++++++++ src/main/java/deck/Deck.java | 7 +++++++ 2 files changed, 31 insertions(+) diff --git a/src/main/java/deck/Card.java b/src/main/java/deck/Card.java index 8ed6d61..ec9d94f 100644 --- a/src/main/java/deck/Card.java +++ b/src/main/java/deck/Card.java @@ -19,4 +19,28 @@ public Rank getRank() { public Suit getSuit() { return suit; } + + @Override + public String toString() { + return rank + " of " + suit; + } + + @Override + public int hashCode() { + return suit.hashCode()*rank.hashCode(); + } + + @Override + public boolean equals(Object other) { + if (this == other) { + return true; + } + else if (!(other instanceof Card)) { + return false; + } + else { + return suit.equals(((Card) other).suit) + && rank.equals(((Card) other).rank); + } + } } diff --git a/src/main/java/deck/Deck.java b/src/main/java/deck/Deck.java index 5105a45..db97cc1 100644 --- a/src/main/java/deck/Deck.java +++ b/src/main/java/deck/Deck.java @@ -23,4 +23,11 @@ private void addAllSuit(Suit suit) { deck.add(new Card(suit, rank)); } } + + @Override + public String toString() { + final StringBuilder stringBuilder = new StringBuilder(); + deck.forEach(card -> stringBuilder.append(card.toString()+"\n")); + return stringBuilder.toString(); + } }