-
}
-
return desc;
*}
- */
}
/*
-
类Deck
-
其私有数据字段List cards,包含所有的纸牌;
-
成员⽅法boolean add(Card card)和boolean add(Flush fluash, int number)向其中添加⼀张牌,如果已经有了18张 牌,返回false;否则,返回true;
-
成员⽅法boolean contain(Flush flush, int number)确定是否包含 参数给定的纸牌;
-
成员⽅法bool isFull()确定是否已经包含了18张牌;
-
成员⽅法void reset()执⾏复 位,即清空所有的纸牌
-
*/
class Deck{
private List cards;
public Deck() {
this.cards = cards;
cards = new ArrayList<>();
reset();
}
public List getCards() {
return cards;
}
//成员⽅法boolean add(Card card)和boolean add(Flush fluash, int number)向其中添加⼀张牌,如果已经有了18张 牌,返回false;否则,返回true;
public boolean add(Card card){
card = new Card(card.getFlush(),card.getNumber());
if(this.getCards().size() <= 18){
this.getCards().add(card);
return true;
}else
return false;
}
public boolean add(Flush flush, int number){
if(cards.size() < 18){
cards.add(new Card(flush,number));
return true;
}else
return false;
}
//成员⽅法boolean contain(Flush flush, int number)确定是否包含 参数给定的纸牌;
public boolean contain(Flush flush, int number){
if(cards.contains(new Card(flush,number))){//需重写contains方法
return true;
}else
return false;
}
//成员⽅法bool isFull()确定是否已经包含了18张牌;
public boolean isFull(){
if(getCards().size() == 18)
return true;
else
return false;
}
//成员⽅法void reset()执⾏复 位,即清空所有的纸牌
public void reset(){
getCards().clear();
}
}
/*
-
类Poker
-
私有数据字段:deckA、deckB、deckC,类型为Deck,表示发 给三个玩家的牌,要求能够获取它们;
-
公有成员⽅法void deal()实现为三个玩家随机发牌并确保在 发牌之前,将deckA、deckB、deckC复位;
-
可根据情况添加辅助⽅法;
-
*/
class Poker{
private Deck deckA;
private Deck deckB;
private Deck deckC;
public Deck getDeckA() {
return deckA;
}
public Deck getDeckB() {
return deckB;
}
public Deck getDeckC() {
return deckC;
}
//公有成员⽅法void deal()实现为三个玩家随机发牌并确保在 发牌之前,将deckA、deckB、deckC复位;
public void deal(){
Flush[] flush = Flush.values();
deckA = new Deck();//Deck构造器中调用reset()方法实现复位
deckB = new Deck();
deckC = new Deck();
int i = 0;
int j = 0;
int k = 0;
System.out.println(“deckA的牌:”);
while(!deckA.isFull()){
int n = (int)(Math.random()*(14-1)+1);
int f = (int)(Math.random()*(5-0)+0);
if(f == 4){
n = (int)(Math.random()*(2-0)+0);
}
if(!deckA.contain(flush[f],n)){
deckA.add(flush[f],n);
System.out.print(deckA.getCards().get(i).getFlush().getFlushName() + deckA.getCards().get(i).getNumber() + " ");
i++;
}
}
System.out.println();
System.out.println(“deckB的牌:”);
while(!deckB.isFull()){
int n = (int)(Math.random()*(14-1)+1);
int f = (int)(Math.random()*(5-0)+0);
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
写在最后
可能有人会问我为什么愿意去花时间帮助大家实现求职梦想,因为我一直坚信时间是可以复制的。我牺牲了自己的大概十个小时写了这片文章,换来的是成千上万的求职者节约几天甚至几周时间浪费在无用的资源上。
上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
上万的求职者节约几天甚至几周时间浪费在无用的资源上。
[外链图片转存中…(img-PHqcJ46m-1712109033179)]
[外链图片转存中…(img-Jz4ooGMa-1712109033179)]
上面的这些(算法与数据结构)+(Java多线程学习手册)+(计算机网络顶级教程)等学习资源
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!