ArrayList list1=new ArrayList("A","2","3","4","5","6","7","8","9","10","J","Q","K");
ArrayList list2=new ArrayList("黑","红","梅","方");
public class Test(){
String num;
String ch;
public Test(String num,String ch){
this.num=num;
this.ch=ch;
}
}1、按黑红梅方放入Test类中;
2、随机洗一副牌。
大概只记得这么多了。。
请大侠指教!!
然后循环
直到发完
取一个,而%4的值作为index2到第二个list取花色,一旦某一种牌(比如3)取到了4张,就13--了
package com.csdn;import java.util.ArrayList;
import java.util.List;public class RandomCard { public static void main(String[] args) {
List<String> list = getnewList();
//洗牌后的LIST
for (String s : list) {
System.out.println("-----"+s);
}
}
static List<String> list = getList();
static List<String> listnew = new ArrayList<String>();
static int flag = list.size();
//洗牌
public static List<String> getnewList() {
flag--;
String code = null;
for(int i = 0;i<list.size();i++) {
//随机获得一个
int charIndex = (int) Math.floor(Math.random() * flag);
//加入
listnew.add(list.get(charIndex));
//加了后去掉
list.remove(charIndex);
//递归
getnewList();
}
return listnew;
}
//原来的牌
public static List<String> getList() { List<String> list = new ArrayList<String>();
list.add("A");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
list.add("7");
list.add("8");
list.add("9");
list.add("10");
list.add("J");
list.add("Q");
list.add("K");
return list;
}}
import java.util.List;
//54张牌原理和上面一样因为54个牌是死的
public class RandomCard { public static void main(String[] args) {
List<String> list = getnewList();
//洗牌后的LIST
for (String s : list) {
System.out.println("-----"+s);
}
}
static List<String> list = getList54();
static List<String> listnew = new ArrayList<String>();
static int flag = list.size();
//洗牌
public static List<String> getnewList() {
flag--;
String code = null;
for(int i = 0;i<list.size();i++) {
//随机获得一个
int charIndex = (int) Math.floor(Math.random() * flag);
//加入
listnew.add(list.get(charIndex));
//加了后去掉
list.remove(charIndex);
//递归
getnewList();
}
return listnew;
}
//原来的牌
public static List<String> getList() { List<String> list = new ArrayList<String>();
list.add("A");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
list.add("6");
list.add("7");
list.add("8");
list.add("9");
list.add("10");
list.add("J");
list.add("Q");
list.add("K");
return list;
}
//原来的牌
public static List<String> getListFlag() { List<String> list = new ArrayList<String>();
list.add("黑");
list.add("红");
list.add("梅");
list.add("方");
return list;
}
//生成54张牌
public static List<String> getList54(){
List<String> list0 = new ArrayList<String>();
List<String> list = getListFlag();
List<String> list1 = getList();
for(int i = 0;i<list1.size();i++){
for(int j =0;j<list.size();j++){
list0.add(list1.get(i).toString()+list.get(j).toString());
}
}
return list0;
}}
定义一个card类,有两个属性,一个属性取("A","2","3","4","5","6","7","8","9","10","J","Q","K")中的值,一个属性取("黑","红","梅","方")中的值,然后初始化52个card对象,每个对象赋予一个唯一的键值。然后随机取值出牌就可以。