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

做烘焙的网站美容北京公司网站建设

做烘焙的网站,美容北京公司网站建设,wordpress file upload,网站建设死人接单方法中可变参数 一种特殊形参,定义在方法,构造器的形参列表里,格式:数据类型...参数名称; 可变参数的特点和好处 特点:可以不传数据给它;可以传一个或者同时传多个数据给它;也可以…

方法中可变参数

一种特殊形参,定义在方法,构造器的形参列表里,格式:数据类型...参数名称;

可变参数的特点和好处

特点:可以不传数据给它;可以传一个或者同时传多个数据给它;也可以传一个数组给它。

好处:常常用来灵活的接收数据。

注意:

1.可变参数对内实际上就是一个数组。

2.可变参数在形参列表中只能有一个。

3.可变参数必须放在形参列表的最后面

Collections工具类

collection是一个用来操作集合的工具类

Collections提供的常用静态方法

 public static void main(String[] args) {//Collection工具类List<Integer> list = new ArrayList<>();//1.Collectiohns批量添加数据Collections.addAll(list, 1,2,3,4,5,6,7,8,9,10);System.out.println(list);//2.打乱顺序Collections.shuffle(list);System.out.println(list);//3.升序排序Collections.sort(list);System.out.println(list);//4.降序排序Collections.sort(list,(o1, o2)->o2.compareTo(o1));System.out.println(list);}
运行结果:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[7, 1, 5, 2, 10, 8, 3, 9, 6, 4]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

斗地主案例

如何创建一副扑克牌并初始化
如何洗牌、发牌
如何对玩家手中的牌进行排序
Java 中集合的操作与 Lambda 表达式的使用

本项目涉及两个核心类:

Card 类:表示一张扑克牌
Room 类:代表游戏房间,负责游戏逻辑
doudizhuGame 类:程序入口

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Card {private String size;private String color;private int num;@Overridepublic String toString() {return size+color;}
}

   使用了 Lombok 注解简化开发,生成 getter/setter 和 toString() 方法。
size 表示点数,color 表示花色,num 是牌的“大小值”,在排序时使用。
toString() 方法用于打印显示牌面信息。

private List<Card> cards = new ArrayList<>();{String[] sizes = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "2", "A"};String[] colors = {"♠", "♥", "♣", "♦"};int num = 0;for (String size : sizes) {num++;for (String color : colors) {cards.add(new Card(size, color, num));}}cards.add(new Card("JOKER", "小🃏", ++num));cards.add(new Card("JOKER", "大🃏", ++num));System.out.println(cards);
}

sizes 数组按从小到大的顺序排列,便于后续排序。
循环遍历点数和花色组合,构造普通扑克牌。
手动添加大小王,并赋予更高的权值 num。
num 值越大,牌力越强,在排序中排在前面

public void start() {Collections.shuffle(cards); // 洗牌Map<String, List<Card>> players = new HashMap<>();List<Card> lhc = new ArrayList<>();List<Card> lhb = new ArrayList<>();List<Card> lhz = new ArrayList<>();players.put("令狐冲", lhc);players.put("令狐白", lhb);players.put("令狐张", lhz);// 发出51张牌,保留最后3张为底牌for (int i = 0; i < cards.size() - 3; i++) {Card card = cards.get(i);if (i % 3 == 0) {lhc.add(card);} else if (i % 3 == 1) {lhb.add(card);} else {lhz.add(card);}}// 获取底牌List<Card> lastCard = cards.subList(cards.size() - 3, cards.size());System.out.println("底牌是:" + lastCard);

随机选出地主

随机从三位玩家中选择一位
将三张底牌加入该玩家的手牌中
控制台输出地主的名字

// ======【新增】随机选地主======String[] playerNames = {"令狐冲", "令狐白", "令狐张"};Random random = new Random();String landlordName = playerNames[random.nextInt(playerNames.length)];System.out.println("🎉 随机选出的地主是:" + landlordName);// 给地主发底牌players.get(landlordName).addAll(lastCard);

Collections.shuffle() 实现洗牌。
使用 Map<String, List<Card>> 存储三个玩家及其手牌。
使用 for 循环配合取模运算 (i % 3) 给每位玩家轮流发牌。
最后三张牌作为底牌单独保存。

// 排序方法
private void sortCards(List<Card> hand) {Collections.sort(hand, (o1, o2) -> o2.getNum() - o1.getNum());
}// 在 start() 中调用
sortCards(lhc);
sortCards(lhb);
sortCards(lhz);

 使用 Collections.sort() 配合 Lambda 表达式进行自定义排序。
根据 num 字段降序排序,使得牌力从高到低展示。

for (Map.Entry<String, List<Card>> entry : players.entrySet()) {String name = entry.getKey();List<Card> playerCards = entry.getValue();System.out.println(name + "的牌是:" + playerCards);
}

展示所有玩家的手牌

程序入口:doudizhuGame.java

public class doudizhuGame {public static void main(String[] args) {Room room = new Room();room.start();}
}


文章转载自:

http://YThfIAIk.tgfjm.cn
http://LreiDvHm.tgfjm.cn
http://Yn6s6R00.tgfjm.cn
http://HGZZ9l8m.tgfjm.cn
http://lgnYqfV3.tgfjm.cn
http://fwFfkkAx.tgfjm.cn
http://BtofPILl.tgfjm.cn
http://TOljzcPB.tgfjm.cn
http://K0DcMG6X.tgfjm.cn
http://2LslI4Di.tgfjm.cn
http://ccKA08HN.tgfjm.cn
http://48dxlb8Q.tgfjm.cn
http://2Umie544.tgfjm.cn
http://mJeaUyyA.tgfjm.cn
http://PLcWgbV9.tgfjm.cn
http://mn77CicE.tgfjm.cn
http://YjotQfxL.tgfjm.cn
http://iJtXkIrr.tgfjm.cn
http://pMsiZlxH.tgfjm.cn
http://spChzg6P.tgfjm.cn
http://N1E29UA7.tgfjm.cn
http://ZBMrsupJ.tgfjm.cn
http://7GTUmGzX.tgfjm.cn
http://c8corHUc.tgfjm.cn
http://Kl010KZS.tgfjm.cn
http://L99ncxPz.tgfjm.cn
http://ttCXSZ0S.tgfjm.cn
http://udVpjr8X.tgfjm.cn
http://E53zaxzv.tgfjm.cn
http://8a6B6EgB.tgfjm.cn
http://www.dtcms.com/wzjs/692870.html

相关文章:

  • 精美ppt模板免费下载网站做网站应该了解什么软件
  • 网站优化托管方案文库网络营销与直播电商专业就业方向
  • 怎么用dw软件做网站wordpress ios版
  • 网站轮播动态图如何做上海知名网站开发公司
  • 有关网站建设的书网站设计网站项目流程图
  • 哈尔滨网页网站制作天津做网架公司
  • 上海集团网站建设价格网页设计师女生工资
  • 自己服务器建设网站国际最新军事新闻
  • 有哪个网站是成都中科大旗做的如何提交网站地图
  • 哪个网站做免费小程序网站建设属于办公费吗
  • 网站空间购买800福建工程建设中心网站
  • 无法连接到wordpress站点网站设计 网站推广 网站优化
  • 朔州网站建设优化淘宝店铺头像logo制作
  • 做外贸网站需要注意些什么手续华大基因 建设公司网站
  • 北京电商网站开发多少钱企业免费网站建设
  • 城阳在线网站建设常德企业网站建设
  • 做网站用什么牌子电脑本地的天津网站建设
  • 天长网站开发.gs域名做网站怎么样
  • 英文网站建设方案详细方案discuz 旅游网站模版
  • 移动网站建设制作电子商务网站建设对毕业设计
  • 加强网站信息建设wordpress 添加百度统计
  • 太原手机网站建设wordpress 收费课程
  • 色块设计网站技能培训班有哪些课程
  • 永州做网站费用松北建设局网站
  • 网站开发流程 原型设计烟台网站建设优化
  • 先进网站长沙做网站的公司有哪些
  • 青岛网站建设哪家权威林芝seo
  • 周浦高端网站建设公司建设银行六安市分行网站
  • 360站长工具北京餐饮设计公司哪家好
  • 建设招标项目常挂网站有哪些常用的设计网站