Java的ArrayList集合使用---唐代诗人斗地主!!!
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、集合如何实现斗地主?
- 二、代码部分
- 1.IDEA软件
- 2.创建牌盒
- 3.洗牌
- 4.发牌
- 5.看牌
- 三、总结
前言
本文是作者看完Java前面基础部分跟着一起做的一个学生管理系统,主要就是增删改查四种操作,并未使用到数据库!!!
提示:以下是本篇文章正文内容,下面案例可供参考
一、集合如何实现斗地主?
我们现实生活中关于斗地主,首先要有一副牌,然后把牌洗一下,在然后发牌,最后抢地主!因此斗地主需要以下的5步!
- 创建牌盒,定义一个集合对象,用ArrayList实现
- 往牌盒里装牌
- 洗牌,把牌打撒
- 发牌
- 看牌
话不多说直接上代码!
二、代码部分
1.IDEA软件
之前也有用过Eclispe这个软件,看到很多人说现在用IDEA的更多一点就下载了一个,确实不错,整体给人的感觉是不错的,另外还有很多的快捷方式,这里简单列几个。
比如常见的System.out.println()
,你可能不需要全部输入,只需要输入sout
然后回车即可,或者你输入so
的时候就会出来sout
直接回车即可。
还有,比如常用的Java函数入口main
函数,我们输入psvm
然后回车即可!
单行注释的快捷键是:ctrl+/,多行注释是ctrl+shift+/。(一定要先选中!)
2.创建牌盒
代码如下(示例):
ArrayList<String> array = new ArrayList<String>();//创建牌盒/*牌盒里一共有54张牌♣2 ♣3...♦2 ♦3...* */
//定义花色
String []colors = {"♣","♦","♥","♠"};
//定义点数数组,
String []numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
for(String color:colors){for(String number:numbers){array.add(color+number);}
}
array.add("大王");
array.add("小王");
3.洗牌
//洗牌Collections.shuffle(array);
4.发牌
需要将牌发给三位诗人,然后最后三张牌当做底牌!
这里也需要以下三步的操作:
- 首先,创建三个诗人集合和一个底牌集合
- 遍历牌盒,先判断是否是最后三张牌,如果是全部放入底牌结合中。
- 发牌完成。
//发牌ArrayList<String> gamer1 = new ArrayList<String>();//玩家1ArrayList<String> gamer2 = new ArrayList<String>();//玩家1ArrayList<String> gamer3 = new ArrayList<String>();//玩家1ArrayList<String> dipai = new ArrayList<String>();//底牌三张for(int i=0;i<array.size();i++){String poker = array.get(i);//先取一张牌if(i>=array.size()-3){//判断是不是最后的三张牌dipai.add(poker);}else if(i%3==0){gamer1.add(poker);}else if(i%3==1){gamer2.add(poker);}else if(i%3==2){gamer3.add(poker);}}
5.看牌
在发牌完成后,需要看一下每一个人的牌都是什么。这里写一个看牌的方法,将诗人姓名和诗人所对应的牌集合送入方法
代码如下:
//看牌的方法lookpoker("李白",gamer1);lookpoker("白居易",gamer2);lookpoker("杜甫",gamer3);lookpoker("底牌",dipai);}public static void lookpoker(String name,ArrayList<String> array){System.out.println(name+"的牌是:");for(String poker:array){System.out.print(poker+" ");}System.out.println();}
三、总结
虽然本文只是一个简单的斗地主,还没有实现抢地主和把牌整齐处理的操作,主要是帮助大家熟悉ArrayList这个集合。便于大家在后序的开发中更好的使用Java这些集合。
所有代码:
package Game;import java.util.ArrayList;
import java.util.Collections;public class Doudizhu {public static void main(String[] args) {/*1:创建牌盒,定义一个集合对象,用ArrayList实现* 2:往牌盒里装牌* 3:洗牌,把牌打撒* 4:发牌* 5:看盘*/ArrayList<String> array = new ArrayList<String>();//创建牌盒/*牌盒里一共有54张牌♣2 ♣3...♦2 ♦3...* *///定义花色String []colors = {"♣","♦","♥","♠"};//定义点数数组,String []numbers = {"2","3","4","5","6","7","8","9","10","J","Q","K","A"};for(String color:colors){for(String number:numbers){array.add(color+number);}}array.add("大王");array.add("小王");System.out.println(array);//洗牌Collections.shuffle(array);//发牌ArrayList<String> gamer1 = new ArrayList<String>();//玩家1ArrayList<String> gamer2 = new ArrayList<String>();//玩家1ArrayList<String> gamer3 = new ArrayList<String>();//玩家1ArrayList<String> dipai = new ArrayList<String>();//底牌三张for(int i=0;i<array.size();i++){String poker = array.get(i);//先取一张牌if(i>=array.size()-3){//判断是不是最后的三张牌dipai.add(poker);}else if(i%3==0){gamer1.add(poker);}else if(i%3==1){gamer2.add(poker);}else if(i%3==2){gamer3.add(poker);}}//看牌的方法lookpoker("李白",gamer1);lookpoker("白居易",gamer2);lookpoker("杜甫",gamer3);lookpoker("底牌",dipai);}public static void lookpoker(String name,ArrayList<String> array){System.out.println(name+"的牌是:");for(String poker:array){System.out.print(poker+" ");}System.out.println();}
}
记录时间:2020年11月19日
Java的ArrayList集合使用---唐代诗人斗地主!!!相关推荐
- java print快捷键_Java的ArrayList集合使用---唐代诗人斗地主!!!
一.集合如何实现斗地主? 我们现实生活中关于斗地主,首先要有一副牌,然后把牌洗一下,在然后发牌,最后抢地主!因此斗地主需要以下的5步! 创建牌盒,定义一个集合对象,用ArrayList实现 往牌盒里装 ...
- java基础 ArrayList集合基本方法演示
java基础 ArrayList集合基本方法演示 import java.util.ArrayList; import java.util.Iterator;public class ArrayLis ...
- 【零基础学Java】—ArrayList集合概述和基本使用(十四)
[零基础学Java]-ArrayList集合概述和基本使用(十四) 一.什么是ArrayList类以及注意事项 java.util.ArrayList是大小可变的数组的实现,存储在内的数据称为元素,此 ...
- Java双列集合之Map以及斗地主案列
Map集合 知识点-- 概述 讲解 图文演示 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射.Java提供了专门的 ...
- Java的ArrayList集合_JAVA之ArrayList集合
/** * ArrayList集合讲解 * 集合的添加.遍历.删除 */ package com.test; import java.util.*; public class test7 { /** ...
- (Java)ArrayList集合
ArrayList集合概述和基本使用 ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类. 数组的长度不可以发生改变,但是ArrayList的长度是可以随时变化的 对于Ar ...
- JAVA之ArrayList集合
/** * ArrayList集合讲解 * 集合的添加.遍历.删除 */ package com.test; import java.util.*; public class test7 { / ...
- Java(运用ArrayList集合)实现学生系统搜索学生信息功能
需求: 学生信息系统:展示数据,并按照学号完成搜索学生信息(学号,姓名,年龄,班级) 测试数据: "20180302","叶孤城",23,"护理一班& ...
- java使用Arraylist集合完成图书馆添加并查找书本功能
输入书本名称,价格,对书本自动编号,可根据书本名称,编号,价格查找相应书本 Book类 public class Book {private int id;private static int sid ...
最新文章
- Linux 命令 alternatives和update-alternatives
- python序列类型-python-序列类型
- spring文件下载记录
- ic卡复制软件_使用MCT复制IC卡0扇区的方法(适用于NFC手机复制或模拟门禁卡)...
- rxjs 里的pipe operator
- Linux打包软件版本带时间,带你写一个 linux 下的打包软件 tar
- LeetCode 26. Remove Duplicates from Sorted Array
- 3DMAX安装包及近百GB素材资源,以及3D游戏建模教程
- 真假难辨!全球首位AI合成女主播正式上岗 引发全球媒体圈关注
- RS232电平 RS485电平 RS422电平 TTL电平
- hackbar 使用教程_hackbar简单安装使用教程
- floyd算法求最短路径_算法题-蜜蜂采蜜最短路径
- 基于Java保险员工管理系统的设计与实现
- 移植LLDP协议到mips架构设备
- 计算机没有显示插入的移动硬盘,电脑插入移动硬盘没有显示的解决办法
- 伦斯勒理工学院计算机科学专业强吗,伦斯勒理工学院计算机专业申请条件(附案例)...
- 小米手机用什么耳机音质好?发烧级音质蓝牙耳机推荐
- 百度“好看”与字节“西瓜”之间,差了几个B站?
- 【7W字长文】使用LVS+Keepalived实现Nginx高可用,一文搞懂Nginx
- APP加PHP扫码识别,为了找到好用的扫描应用,我试了这几款 App