实现扑克牌的创建、洗牌、发牌、大小对比,输出赢家牌。
前提条件
首先需要创建三个集合,用于存储牌面值、牌号与比较规则,再创建一个类作为牌。
其次还需要了解到一个工具类,就是Collections类,该类的所有方法都是由 static 静态关键字修饰的,所以该类的所有方法都可直接使用 类名+. 的方式调用。Collections类是针对集合的一个工具类,里面的所有方法就是针对集合来写的。
扑克牌的创建
使用一个静态代码块来构建牌,初始化牌盒、牌号与大小规则等。
静态代码块是一种特殊的语法结构,它允许你在类加载到JVM时执行某些操作。这种结构常用于一次性的设置或初始化静态变量。
静态代码块在类被加载时执行一次,并且只执行一次。
洗牌
由于牌号内的序号是与牌盒中的牌一一对应的,那么将存储牌号的list集合打乱就可以达到洗牌的效果。
发牌
List集合与List集合之间是可以嵌套的,使用List
003CList>作为该方法的返回值,外层的List集合中代码每一个玩家,内层的List中代表玩家的扑克牌数。
看牌
内排序
对每个玩家的手机手牌内部进行排序
牌与牌之间的比较方法
返回值:
大于0:玩家a的手牌 大于 玩家b的手牌
小于0:玩家a的手牌 小于 玩家b的手牌
等于0:玩家a的手牌 等于 玩家b的手牌
找出牌最大的玩家
完整代码
运行结果:
启动代码:
游戏代码:
运行代码: