「java发牌算法」java 发牌的按照花色输出

博主:adminadmin 2023-03-20 12:23:07 247

今天给各位分享java发牌算法的知识,其中也会对java 发牌的按照花色输出进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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张牌就是保留的底牌

用java编写拖拉机游戏的发牌程序。。。谢谢。。。可以只提供算法

拖拉机是4个人打两付牌,那么你在洗牌(把108个数据充分的交换之后)之后,留下8张,把100张分给这四个人就OK了

java实现三人斗地主发牌的思路是怎样的?求大神。。。

最简单的方式,用1到五十四代表牌的大小,再用1到4代表花色,然后用随机数随机产生五十四张不重复的牌即可 采纳吧思密达

java编写扑克牌游戏里,洗牌时发牌时用到了随机分配的功能,请问在那个包中哪个类哪个方法?

import java.util.HashMap;

import java.util.Map;

import java.util.Random;

/**

* Author:danagao

* java 发牌程序,

* 不含大王,小王

* 可设定发牌人数

*/

public class Pai {

HashMapString, String map = new HashMapString, String();

private static final String[] colors = {"红桃", "方块", "梅花", "黑桃"};

private static final String[] values = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};

private String[] newpai; private int len;

//初始化52张牌

public Pai() {

len = colors.length * values.length;

newpai = new String[len];

int k = 0;

for (int i = 0; i colors.length; i++) {

for (int j = 0; j values.length; j++) {

newpai[k] = colors[i] + values[j];

k++;

}

}

}

//洗牌(把牌打乱)

private void getNums() {

Random r = new Random();

int i = r.nextInt(len);

String s;

if (i = 0 !map.containsKey(String.valueOf(i))) {

s = String.valueOf(i);

map.put(s, newpai[i]);

} else {

getNums();

}

}

//发牌

public void showResult(int p) {

for (int i = 0; i len; i++) {

getNums();

}

int l = len/p; //每人发几张牌

int j=1;//计人数

int k=0;//计牌数

for (Map.EntryString, String entry : map.entrySet()) {

if(k%l==0 j=p){

System.out.println("第"+j+"个人的牌:");

j++;

} else if(len-k = len%p){

System.out.println("剩余的牌:");

}

k++;

System.out.println(entry.getValue());

} }

public static void main(String[] args) {

DbColorBall dbColorBall = new DbColorBall();

dbColorBall.showResult(4);

}

}

java洗牌算法问题

你指的是Card里的toString方法吧

 public String toString() {

  String aa = suit + " " + num + "  ";

  return aa;

 }

toString这个方法一般在 System.out.print时使用,这个是打印出String,JVM就是默认调用类的toSting方法

注:所有类都有toString方法,默认是当前对象的hashcode,即内存地址

所以在发牌是打印

 public void dealcard()//发牌

    {

        for(int i=0;i52;i++)

        {

            if(i%4==0i!=0){

             System.out.println();  //每发4张牌输出换行

            }

            // 就是这里,默认调用card的toString方法

             System.out.print(card[i]); //依次输出 发的牌

        }

    }

关于java发牌算法和java 发牌的按照花色输出的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。