java 没办法回传字串

1.来源:java8技术手册
http://img2.58codes.com/2024/emoticon46.gif
2.问题描述:
当运行程式时,结果为下列程式码,程式该如何修改才能得到字串形式的结果?
My hand is CardGame.Card@6d06d69c CardGame.Card@7852e922 CardGame.Card@4e25154f CardGame.Card@70dea4e CardGame.Card@5c647e05+

Your hand is CardGame.Card@33909752 CardGame.Card@55f96302 CardGame.Card@3d4eac69 CardGame.Card@42a57993 CardGame.Card@75b84c92+
3. ** 附上6段程式码**
3-1.

public enum Suit {CLUBS, DIAMONDS, HEARTS, SPADES}

3-2.public enum Rank { TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE }
3-3.

public class Card implements Comparable<Card>{private Suit suit;private Rank rank;public Card(Rank rank, Suit suit) {this.rank = rank;this.suit = suit;}@Overridepublic int compareTo(Card card) {if(suit.equals(card.suit)) {if(rank.equals(card.rank)) {return 0;}return rank.compareTo(card.rank)<0 ? -1 : 1;}else {return suit.compareTo(card.suit)<0 ? -1 : 1;}}public String toSring() {return rank + " of " + suit;}}

3-4.

public class Hand {private Vector<Card> hand = new Vector<Card>();public void add(Card card) {hand.add(card);}public Hand sort() {Collections.sort(hand);return this;}public String toString() {StringBuilder str = new StringBuilder();for(Card card : hand) {str.append(" " +card);}return str.toString();}}

3-5.

public class CardDeck {public CardDeck() {for(Suit suit : Suit.values())for(Rank rank : Rank.values())deck.push(new Card(rank, suit));}public Hand dealHand(int numCards) {Hand hand = new Hand();for(int i = 0; i<numCards; i++) {hand.add((Card)deck.pop());}return hand;}public void shuffle() {Collections.shuffle(deck);}private Stack<Card> deck = new Stack<Card>();}

3-6.

class TryDeal {public static void main(String[] args) {CardDeck deck = new CardDeck();deck.shuffle();Hand myHand = deck.dealHand(5).sort();Hand yourHand = deck.dealHand(5).sort();System.out.println("\nMy hand is" + myHand);System.out.println("\nYour hand is" + yourHand);}}

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章