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

凤翔网站制作开发小程序需要多少钱难吗

凤翔网站制作,开发小程序需要多少钱难吗,北京小程序外包,wordpress 密码更改前言 在之前的那篇文章中#xff0c;我们已经认识了顺序表—http://t.csdnimg.cn/2I3fE 基于此#xff0c;便好理解ArrayList和后面的洗牌游戏了。 什么是ArrayList? ArrayList底层是一段连续的空间#xff0c;并且可以动态扩容#xff0c;是一个动态类型的顺序表我们已经认识了顺序表—http://t.csdnimg.cn/2I3fE 基于此便好理解ArrayList和后面的洗牌游戏了。 什么是ArrayList? ArrayList底层是一段连续的空间并且可以动态扩容是一个动态类型的顺序表与普通数组的区别就是它是没有固定大小的限制。 ArrayList的一些常见操作 首先我们要导入一个ArrayList包 import java.util.ArrayList; 在正式调用方法之前别忘了创建一个ArrayList对象哦~ ArrayListString list new ArrayList(); 在这里我就创建了一个只能存储String类型数据的ArrayList(顺序表 下面便是ArrayList一些常见的使用方法仔细观察就不难发现这些方法在模拟实现顺序表的时候就已经实现过了现在直接用就行了若有不记得了可查看帮助手册--Overview (Java SE 17 JDK 17) import java.util.ArrayList;public class commonTest {public static void main(String[] args) {// 创建一个ArrayList并添加一些元素ArrayListString list new ArrayList();list.add(apple);list.add(banana);list.add(orange);// 使用get方法获取指定位置的元素String fruit list.get(1);System.out.println(下标为1的水果是 fruit);// 使用set方法替换指定位置的元素list.set(0, hello);System.out.println(替换之后 list);// 使用remove方法移除指定位置的元素list.remove(2);System.out.println(移除之后 list);// 使用size方法获取列表大小int size list.size();System.out.println(列表大小: size);// 使用contains方法判断列表是否包含指定元素boolean containsBanana list.contains(banana);System.out.println(是否包含banana containsBanana);}} 运行结果如图 运用之实现简单洗牌 纸牌相信大家都接触过来看看如何利用ArrayList去实现洗牌 这才是本文的重点哦~理论最终还是要服务与实践的接下来就由我来带着各位看官来实现吧~ 首先思考 要洗牌首先要有牌想要表示出来那么便要想好牌的属性---花色和数字好那么就可以定义一个Card类专门存储这个看下图 public class Card {public int rank; // 表示牌面的数字public String suit; // 表示花色// 构造方法用于初始化牌的数字和花色public Card(int rank, String suit) {this.rank rank;this.suit suit;}// 重写toString()方法以便打印Card对象时能够直观地展示牌的信息Overridepublic String toString() {return Card{ suit rank };} } 这样一来这个Card类很好地封装了扑克牌的属性。 一张牌肯定不够一副牌有52张去掉大小王---4个花色1到13的数字在洗牌之前先有一副完整的牌才行显示出来才行 于是就新定义一个Cards类规定好牌的花色 public static final String[] suits {♥, ♠, ♣, ♦};//定义四种花色 还记得final 的作用吗这里用final 修饰就是为了不被修改 接着通过两个循环一个遍历花色一个遍历数字 这样一张新牌就创建好了别忘了要创建存放牌的List,这里就导入了ArrayList包以便用add方法了。 import java.util.ArrayList; import java.util.List; // 买一副牌 public ListCard buyCards() {ListCard cardList new ArrayList(); // 基于ArrayList创建一个用于存放牌的Listfor (int i 0; i 4; i) { // 循环四种花色for (int j 0; j 13; j) { // 循环13个数字2-10JQKAint rank j; // 当前数字String suit suits[i]; // 当前花色Card card new Card(rank, suit); // 创建一张新的牌对象cardList.add(card); // 将新牌加入到牌组中}}return cardList; // 返回完整的一副牌 } 此时运行便是这个样子 这下牌有了那就开始洗牌了洗牌肯定讲究随机讲到随机少不了Random方法要调用它也到导入对应的Random包。将生成的随机数对应的牌看索引在遍历的过程中与每个牌的位置进行交换这样便完成了洗牌配合代码食用效果更佳~ import java.util.Random; // 洗牌 public void shuffle(ListCard cardList) {Random random new Random(); // 创建一个随机数生成器for (int i cardList.size(); i 0; i--) { // 从最后一张牌开始向前遍历int index random.nextInt(i); // 生成一个随机的索引swap(cardList, i - 1, index); // 将当前牌与随机选出的牌进行交换} }// 洗牌的原理-交换 public void swap(ListCard cardList, int i, int j) {Card tmp cardList.get(i); // 临时保存第i张牌cardList.set(i, cardList.get(j)); // 将第i张牌替换为第j张牌cardList.set(j, tmp); // 将第j张牌替换为临时保存的牌 } 还记得set方法是干嘛的吗---替换指定位置的元素常见的记住可以提高效率的 此时效果是这样的  那么到此牌洗好了那就开始发牌假设我们有三个人打牌为了方便展示就每人抽4张牌思考一下拿到牌后是不是也要存储才是于是便要创建3个List去接受摸到的牌 // 发牌三个人每个人轮流摸4 public void drawCard(ListCard cardList) {ListCard hand1 new ArrayList(); // 第一个人的手牌ListCard hand2 new ArrayList(); // 第二个人的手牌ListCard hand3 new ArrayList(); // 第三个人的手牌ListListCard hand new ArrayList(); // 存放三个人的手牌列表hand.add(hand1);hand.add(hand2);hand.add(hand3);for (int i 0; i 4; i) { // 每个人轮流摸4张牌for (int j 0; j 3; j) { // 三个人依次摸牌Card card cardList.remove(0); // 从牌组中抽取一张牌并从原来的牌组中移除hand.get(j).add(card); // 将抽取的牌加入到对应人的手牌列表中}}// 打印每个人摸到的牌System.out.println(第1个人摸到的牌 hand1);System.out.println(第2个人摸到的牌 hand2);System.out.println(第3个人摸到的牌 hand3);} 开始摸牌用嵌套循环去模拟分发这里要明白为啥每次只remove(0),这是因为存储牌的也是是基于ArrayList的List每次移除第一个元素后续的元素会自动补上这样一来每次遍历下标为0的元素就是原来的下一张牌就很好地模拟了实际的摸牌体验 当然循环停止后也可以打印剩下的牌 System.out.println(剩余的牌);//显示剩余的牌System.out.println(cardList); 最后在创建一个测试类来看看效果是否符合预期 import java.util.List;public class demo {public static void main(String[] args) {Cards cardsnew Cards();ListCard cardListcards.buyCards();System.out.println(刚开始的牌cardList);cards.shuffle(cardList);System.out.println(洗牌之后cardList);cards.drawCard(cardList);//摸牌} }最后的效果便是这般 说到这里简单的洗牌游戏就被成功实现啦如果感觉文章对你有所帮助的话还请点点赞~ 期待我们下次相会
http://www.hkea.cn/news/14408560/

相关文章:

  • 快站淘客中转页果麦传媒的网站怎么做的
  • 网站开发样板网站自动识别移动终端
  • jsp网站开发制作wordpress博客无法重定向
  • 三都网站建设门户网站的特征
  • 网站建设授权书如何美化网站首页
  • 企业网站的公司和产品信息的介绍与网络营销关系怎样免费做书画网站
  • 龙华哪有做网站设计网络营销八大工具
  • 一定要知道的网站wordpress评论去除
  • 网站建设 英语词汇国际空间站
  • 网站维护提醒php文件大气企业响应式网站
  • 商标可以做网站吗网站收录查询接口
  • 上海高登联合建设网站做网站别人输账号代码
  • 做汽车配件出口用什么网站好些ui和前端哪个前景好
  • 网站建设服务器费用网站关键字可以做几个
  • 科技网站模板免费下载网站设计主要做什么
  • 做导购网站需要多大的服务器源码网站代理
  • 网站建设市场调研框架seo网站排名优化公司哪家好
  • 自己做的网站能联网吗济南建设工程信息网官网
  • 百度怎么自己做网站sun0769东莞阳光网
  • 专业网站推广引流郑州市网站建设怎么样
  • 网站打不开是为什么海兴县网站建设公司
  • 网站建设公司客户开发手册网站的seo优化方案
  • 相亲网站做期货现货贵金属的人合肥营销型网站建设公司
  • 湘阴网站建设东莞网站建设优化东莞
  • 扶余网站建设梧州网页设计师招聘
  • 国内设计欣赏网站青海省公路工程建设信息网站
  • wordpress 去掉作者苏州网页关键词优化
  • 长沙臻钬建站活动方案信息服务平台的优势和劣势
  • 云服务器 能用来做网站吗网站系统里不能打印
  • 佛山大良网站建设o2o商超网站建设