当前位置: 首页 > news >正文

ps做兼职在什么网站可以找到网站备案申请流程

ps做兼职在什么网站可以找到,网站备案申请流程,局 网站建设方案,WordPress如何清空评论🎉欢迎大家收看,请多多支持🌹 🥰关注小哇,和我一起成长🚀个人主页🚀 ⭐目前主更 专栏Java ⭐数据结构 ⭐已更专栏有C语言、计算机网络⭐ 在学习了ArrayList之后,我们可以通过写一个洗…

 🎉欢迎大家收看,请多多支持🌹

🥰关注小哇,和我一起成长🚀个人主页🚀

⭐目前主更 专栏Java ⭐数据结构

⭐已更专栏有C语言、计算机网络⭐


在学习了ArrayList之后,我们可以通过写一个洗牌算法来练习练习。

一副扑克牌是由花色和数字及字母组成,我们这里用1~13的数字来代替所有字母和数字

我们用一个Card类来定义一个简单的扑克牌模型,包含两个成员变量来表示花色和数字,一个成员方法重写了toString方法 用于返回扑克牌卡片信息,还包含一个构造方法来给两个成员变量赋值:

public class Card {public String suit;public int rank;public Card(String suit, int rank) {this.suit = suit;this.rank = rank;}@Overridepublic String toString() {return "{" + suit + rank + '}';}
}

再定义一个Game类来给扑克牌赋值、制作扑克牌、洗牌、发牌等操作。

用一个数组来存放花色:

 public static final String[] SUITS = {"♥","♠","♣","♦"};

 有了扑克牌花色之后,可以再利用循环给扑克牌添加数字:

    //制造扑克牌public List<Card> createCards(){List<Card> cardList = new ArrayList<>();for(int i = 0; i < SUITS.length; i++){for(int j = 1; j <= 13; j++ ){Card card = new Card(SUITS[i],j);cardList.add(card);}}Card card1 = new Card("Great King",1);Card card2 = new Card("Little King",1);cardList.add(card1);cardList.add(card2);return cardList;}

这里创建一个createCards()方法来制作扑克牌,并将扑克牌放进cardList列表中 ,通过双层循环制作了1~13的4种花色的牌。

然后再单独制作大小王并添加进cardList列表。

另外这里需要导入java.util.ArrayList和java.util.List两个包。

扑克牌制作好后,就该洗牌了。我们可以遍历每张牌,通过产生随机数让该下标的牌与遍历的牌交换,进而达到洗牌的效果。这里用到Random类,需要导包java.util.Random;

    //洗牌public void shuffle(List<Card> cardList){Random random = new Random();for(int i = cardList.size() - 1; i > 0; i--){int randIndex = random.nextInt(i);//产生0~ i-1 的随机数swap(cardList,i,randIndex);}}private void swap(List<Card> cardList, int i, int j){//交换两牌位置Card tmp = cardList.get(i);cardList.set(i,cardList.get(j));//把牌j放到牌i的位置cardList.set(j,tmp);//把牌i(tmp)放到牌j的位置}

扑克牌洗好之后,我们就可以玩牌了,我们制定一个简单规则,三个人玩牌,轮流抽一张牌,各抽5张:

 public List<List<Card>> play(List<Card> cardList){List<List<Card>> hand = new ArrayList<>();List<Card> hand0 = new ArrayList<>();List<Card> hand1 = new ArrayList<>();List<Card> hand2 = new ArrayList<>();hand.add(hand0);hand.add(hand1);hand.add(hand2);for(int i = 0; i < 5; i++){//每人各抽5张for(int j = 0; j < 3; j++){//3人轮流抽牌Card card = cardList.remove(0);//将抽到的牌取出hand.get(j).add(card);//谁抽的放谁手中}}return hand;}

我们再写一个Test类来测试以上代码,看看运行效果: 

import java.util.List;
public class Test {public static void main(String[] args) {Game game = new Game();List<Card> cardList = game.createCards();System.out.println("初始牌:" + cardList);game.shuffle(cardList);//洗牌System.out.println("洗过的牌:"+cardList);List<List<Card>> hand = game.play(cardList);for(int i = 0; i < hand.size();i++){System.out.println("第"+(i + 1)+"个人的牌是:"+hand.get(i));}System.out.println("剩下的牌:"+cardList);}
}

运行效果: 

通过这个简单的洗牌算法,让我更好理解到了如何在程序中引入随机性、背后的逻辑,频繁使用ArrayList加深了对这种动态数组的认识与理解。


🥰感谢支持~~ 💕

 

http://www.yayakq.cn/news/614080/

相关文章:

  • 建设银行网站认证工程公司手机网站
  • 番禺做网站报价网站推广软文几个绝招
  • 称心的赣州网站建设公司网站开发需要做哪些事
  • 广东商城网站建设公司监理工程师
  • 北京中国建设银行招聘信息网站如何建立网站教材
  • 数学教学网站开发网站建设分金手指排名二九
  • 售后好的品牌策划公司快手seo软件下载
  • 专业的平面设计网站有哪些杭州做网站的公司哪些比较好
  • 用织梦做的企业网站设计公司简介ppt范本
  • 江门网站建设教程专业做婚纱摄影网站
  • 如何做网站的教程二维码做电影网站需要注意事项
  • 有没有专门建设网站的公司水墨 网站模板
  • 网站转化率偏低怎么办wordpress接收邮件
  • 网站开发工程师绩效考核表国内net开发的网站建设
  • 自己开公司 自己做网站怎么查一个网站是谁做的
  • 网站优化服务义乌网站制作
  • 做搜狗pc网站优化快速南昌招网页设计师的公司
  • linux系统用wordpress贵阳哪家网站做优化排名最好
  • 蓝冠在线网站建设律师 wordpress
  • 电商网站费用青岛网站公司
  • 网站娱乐一条龙搭建公司注册地址与实际经营地址不符
  • 网站建设常州麦策电商动漫设计专业好就业吗
  • 人才网站开发方案房山石家庄网站建设
  • 重庆峰宇园林建设有限公司网站公司logo设计图片免费下载
  • 南宁响应式网站制作晋中城市建设招标网站
  • 山东省住房和城乡建设厅官方网站微信推广的平台
  • 西安公司网站制作价格网站建设SEO优化
  • 学设计的网站有哪些erp管理系统有哪些牌子
  • 太原的网站建设公司大连做公司网站
  • 网站制作公司员工wordpress文章加标题