java之实例斗地主(集合)

public class CollectionTest {

/**
  * 玩斗地主的三个步骤:
  * A 买牌
  * B 洗牌
  * C 发牌
  * D 看底牌
  */
 public static void main(String[] args) {

String[] color={"黑桃","红桃","梅花","方块"}; 
 String[] numbers={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; 
 
 ArrayList<String> array=new ArrayList<String>();
 array.add("大王");
 array.add("小王");
 
 for (String c : color) {
  for (String n : numbers) {
   array.add(c.concat(n));
  }
 }

Collections.shuffle(array);
 
 //System.out.println(array);
 //System.out.println(array.size());
 //三个人
 
 ArrayList<String> xiaoming1=new ArrayList<String>();
 ArrayList<String> xiaoming2=new ArrayList<String>();
 ArrayList<String> xiaoming3=new ArrayList<String>();
 
 for (int i = 0; i < array.size()-3; i++) {
  
  if (i%3==0) {
   xiaoming1.add(array.get(i));
  }else if (i%3==1) {
   xiaoming2.add(array.get(i));
  }else if (i%3==2) {
   xiaoming3.add(array.get(i));
  }
 }
 System.out.println(xiaoming1);
 System.out.println(xiaoming2);
 System.out.println(xiaoming3);
 
 //看底牌
 for (int i = array.size()-3; i < array.size(); i++) {
  System.out.print(array.get(i)+"    ");
 }
 
 }

}

java之实例斗地主(集合)

时间: 2024-09-30 09:47:19

java之实例斗地主(集合)的相关文章

黑马程序员——JAVA学习笔记八(集合)

1,    JAVA最初版本只为最常用的数据结构提供了很少的一组类:Vector.Stack.Hashtable.BitSet与Enumeration接口,从JAVA1.2版本开始推出了一组功能完善的的数据结构. 集合类的由来:  对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定.  就使用集合容器进行存储. 集合特点: 1,用于存储对象的容器. 2,集合的长度是可变的. 3,集合中不可以存储基本数据类型值. 4,接口与实现相互分离. 集合框架是为表示和操作集合而规定的一种统一的标准

黑马程序员(Java)---API之集合(Map及其子类、Collections)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 5.4 Map及其子类 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. Map集合存储元素是成对出现的,Map集合的键是唯一的,值是可重复的.Collection集合存储元素是单独出现的,Collection的子类Set是唯一的,List是可重复的. Map集合的数据结构值针对键有效,跟值无关.Collection集合的数据结构是针对元素有效. Map |--Has

[Java 8] Lambda在集合中的使用

Lambda在集合中的使用 列表的遍历 提起对于集合的遍历,恐怕下面的这种方式已经是一种思维定式了吧: final List<String> friends = Arrays.asList("Brian", "Nate", "Neal", "Raju", "Sara", "Scott"); for(int i = 0; i < friends.size(); i++)

[转]Java中常用的集合—初学者的你不可错过的精编整理

集合一直都是项目中非常常见的,我是一个Android开发者,集合对于我来说,在项目中使用的次数非常之多,因为使用的多,熟能生巧,所以这里呢!就给那些初学者整理一下Java当中常用的集合吧!   因为此篇文章是给初学者看到,所以对于集合的认识,我们就不从内存的角度去分析了,等你Java学到一定的时候,再去学习一下集合的底层实现,这会让成为一名更加牛的Java程序员.   在整理之前呢,我们先聊一聊为什么集合会这么常用?,集合这个概念,我们初次接触是在高中的数学当中,高中的集合具有以下知识点:  1

Flex Socket与Java通信实例说明(转)

Flex Socket与Java通信实例说明(转) 这两天一直在flex的Socket ,现在终于懂了很多.由浅到深一步一步深入.慢慢体会实例,虽然实例都是在网上找的,但也经过了我的测试.我比较喜欢注释,也注释了很多. 跟着走你就会懂.. Flex端 和 Java端, 先运行Java端启动服务.然后在测试Flex. 实例一: Flex端: <?xml version="1.0" encoding="utf-8"?> <mx:TitleWindow

java编程实例

脚本代码: 1. [代码] package com.gufengxiachen.sthreadchatapp;/** * @author GUXIA */import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.Outpu

Java笔记(15):集合框架(01)

1.对象数组的概述和使用 1 package cn.itcast_01; 2 3 public class Student { 4 // 成员变量 5 private String name; 6 private int age; 7 8 // 构造方法 9 public Student() { 10 super(); 11 } 12 13 public Student(String name, int age) { 14 super(); 15 this.name = name; 16 thi

java求两个集合的差集

public static void main(String[] args) {Set set = new HashSet();Set set1 = new HashSet();set.add("sanny");set.add("mary");set.add("bill");set.add("tom");set.add("tony");set.add("mark");set.add(&q

java复习整理之集合

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.ios培训..Net培训</a>.期待与您交流!------ java复习整理之集合: Collection:集合中的最顶层接口,提供了一些操作集合的共性方法添加:boolean add(E e)boolean addAll(Collection<? extends E> c)删除:void