在oracle 的java文档里看到 扑克牌的类就把它抄了一遍:
单张扑克:
package enumtype; public class Card { private final Ranks rank; private final Suits suit; enum Suits { DIAMONDS, CLUBS, HEARTS, SPADES } enum Ranks { ACE, DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING } public Card(Ranks rank, Suits suit) { this.rank = rank; this.suit = suit; } public Suits getSuit() { return suit; } public Ranks getRank() { return rank; } public String toString() { return this.suitToString(suit) + " " + this.rankToString(rank); } public static String rankToString(Ranks rank) { switch (rank) { case ACE: return "Ace"; case DEUCE: return "Deuce"; case THREE: return "Three"; case FOUR: return "Four"; case FIVE: return "Five"; case SIX: return "Six"; case SEVEN: return "Seven"; case EIGHT: return "Eight"; case NINE: return "Nine"; case TEN: return "Ten"; case JACK: return "Jack"; case QUEEN: return "Queen"; case KING: return "King"; default: // Handle an illegal argument. There are generally two // ways to handle invalid arguments, throwing an exception // (see the section on Handling Exceptions) or return null return null; } } public static String suitToString(Suits suit) { switch (suit) { case DIAMONDS: return "Diamonds"; case CLUBS: return "Clubs"; case HEARTS: return "Hearts"; case SPADES: return "Spades"; default: return null; } } public static void main(String[] args) { // must run program with -ea flag (java -ea ..) to // use assert statements assert rankToString(Ranks.ACE) == "Ace"; assert rankToString(Ranks.DEUCE) == "Deuce"; assert rankToString(Ranks.THREE) == "Three"; assert rankToString(Ranks.FOUR) == "Four"; assert rankToString(Ranks.FIVE) == "Five"; assert rankToString(Ranks.SIX) == "Six"; assert rankToString(Ranks.SEVEN) == "Seven"; assert rankToString(Ranks.EIGHT) == "Eight"; assert rankToString(Ranks.NINE) == "Nine"; assert rankToString(Ranks.TEN) == "Ten"; assert rankToString(Ranks.JACK) == "Jack"; assert rankToString(Ranks.QUEEN) == "Queen"; assert rankToString(Ranks.KING) == "King"; assert suitToString(Suits.DIAMONDS) == "Diamonds"; assert suitToString(Suits.CLUBS) == "Clubs"; assert suitToString(Suits.HEARTS) == "Hearts"; assert suitToString(Suits.SPADES) == "Spades"; } }
一副牌:
package enumtype; import enumtype.Card.Ranks; import enumtype.Card.Suits; public class Deck { public final Card cards[]; public Deck() { cards = new Card[(Suits.values().length * Ranks.values().length)]; int i = 0; for (Suits suit : Suits.values()) { for (Ranks rank : Ranks.values()) { cards[i] = new Card(rank, suit); i++; } } } public Card getCard(Suits suit, Ranks rank) { return cards[(suit.ordinal() * rank.ordinal())]; } public static void main(String[] args) { Deck deck = new Deck(); System.out.println(deck.getCard(Suits.CLUBS, Ranks.ACE)); } }
相关推荐
JAVA学习笔记-java学习笔记WORD样式.docx
java学习笔记-Scokect.pdf
java学习笔记--PrintStream分享.pdf
Java学习笔记-Java后来者.exe
java学习笔记---从入门到精通之路.pdf
学习任务笔记-入门大模型(含源码+项目说明介绍).zip学习任务笔记-入门大模型(含源码+项目说明介绍).zip学习任务笔记-入门大模型(含源码+项目说明介绍).zip学习任务笔记-入门大模型(含源码+项目说明介绍).zip学习任务...
java学习笔记-基础学习,一些关键和要点
Java笔记---李兴华---Java笔记---李兴华-----Java笔记---李兴华--Java笔记---李兴华
JAVA学习经典笔记-----1JAVA学习经典笔记-----1JAVA学习经典笔记-----1JAVA学习经典笔记-----1JAVA学习经典笔记-----1
《java学习》--java学习笔记 《java学习》--java学习笔记 《java学习》--java学习笔记
Java学习笔记 java 笔记 试题 练习
zookeeper云的学习笔记-云的学习笔记系统-云的学习笔记系统源码-云的学习笔记管理系统-云的学习笔记管理系统java代码-云的学习笔记系统设计与实现-基于ssm的云的学习笔记系统-基于Web的云的学习笔记系统设计与实现-...
Java学习笔记-面向对象-001-面向对象概括 还会继续上传后续文本 详情访问http://www.feifeiblog.com/
Java 版设计模式学习笔记-java-design-patterns
达内java学习笔记-总最全,初学者可以参考一下下
精心整理好的-Java学习笔记-供你使用