
正文
随机发牌java代码 java 随机
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
用JAVA写个代码,实现52张牌随机分给四个人
java内的Collections类自带了一个shuffle洗牌算法。
static void shuffle(List? list)
使用默认随机源对指定列表进行置换。
static void shuffle(List? list, Random rnd)
使用指定的随机源对指定列表进行置换。
现在你可以把52张牌放进一个List里,调用他的shuffle算法打乱顺序。
相关问答
Q1: 用java程序编写一个发牌的程序。。。跪求了。。。。
1、设计二维数组a[13][4],13代表2,3,4,5,...,K,A 随机发牌java代码, 4代表红黑方梅 13*4=52
2、这样a[0][0]就是红桃2随机发牌java代码,a[12][3]就是梅花A
按照这么来随机发牌就很简单随机发牌java代码了,直接随机个一个a[i][j]就可以随机发牌java代码了。i和j都分别在13和4以内
思路明确了,代码还是自己写比较好
Q2: java斗地主发牌程序
DeckOfCards()构造函数里面,注释掉的
//deck[count]=new Card(faces[count%13],suits[count/13]);
是对的,下面那行除17是错的
另外,没有把大小王赋值到数组里
最后main函数里,打印方法错了。应该为,原本少了一个%-20s
System.out.printf("%-20s%-20s%-20s\n", myDeckOfCards.dealCard(), myDeckOfCards.dealCard(), myDeckOfCards.dealCard());
发牌完成以后剩下的3张牌就是保留的底牌
Q3: Java编写52张牌四人十三张随机发牌
import java.util.ArrayList;
import java.util.List;
import java.util.Collections;
public class XiPai {
private String Rt="rt"; //red
private String Bt="Bt"; //black
private String Fp="FP";
private String Mh="MH";
public List getPKList(){
String pkColor = "";
String pkNum;
List pkList = new ArrayList();
for(int i=1;i if(i==1){
pkColor=Rt;
}else if(i==2){
pkColor=Bt;
}else if(i==3){
pkColor=Fp;
}else{
pkColor=Mh;
}
for(int j=1;j pkNum=j+pkColor;
pkList.add(pkNum);
}
}
Collections.shuffle(pkList);
System.out.println(pkList.size());
for(int k=0;k System.out.print(" "+pkList.get(k).toString());
}
return pkList;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
XiPai x = new XiPai();
x.getPKList();
}
}
Q4: 用java写发牌程序 a.108张牌发给6个人 b.找出6个人中对子数最多的人 简洁清晰的代码
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.Random;
public class Licensing {
public static void main(String[] args) {
LinkedListInteger card = new LinkedListInteger();
int max = 108;
Random r = new Random();
/*下边的代码是定义一副牌*/
for(int i = 0;i 8;++i)
for(int j = 1;j = 13;++j)
card.add(j);
for(int k = 0;k 2;++k){
card.add(14);
card.add(15);
}
Player[] p = new Player[6];//定义六个玩家
for(int i = 0;i6;++i){
p[i] = new Player();
}
while(max 0){//发牌
for(int m = 0;m6;++m){
int index = r.nextInt(max);
max--;
if(max 0)
break;
Integer a = card.get(index);
card.remove(a);
p[m].myCard.add(a);
}
}
int[] pp = new int[6];
for(int w = 0;w6;++w)
pp[w] = p[w].pairs();
Arrays.sort(pp);
for(int e = 0;e6;++e){
if(p[e].pairs()==pp[5])
System.out.println("第"+e+"位玩家获胜了");
}
}
}
class Player{
public LinkedListInteger myCard;
public String name;
public Player(){
myCard = new LinkedListInteger();
}
public int pairs(){
int sum = 0;
if(myCard != null){
LinkedListInteger tempCard = myCard;
IteratorInteger it = tempCard.iterator();
int in = 0;
if(myCard != null){
while(it.hasNext()){
it.next();
++in;
}
int c =-1;
for(int i = 0;i in;++i){
if(i == c)
continue;
for(int j = i+1;jin;++j){
if((int)tempCard.get(i) == (int)tempCard.get(j)){
++sum;
c = j;
break;
}
}
}
}
}
return sum;
}
}
随机发牌java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 随机、随机发牌java代码的信息别忘了在本站进行查找喔。







