java - 数组、算法和元素

标签 java arrays element

我正在尝试通过java制作一个扑克游戏。 我想做的第一件事是使用数组分发 5 张卡片。我已经完成了分发部分,但是如何防止相同的卡被分发两次。换句话说,如何检查数组是否已包含元素。我希望它能够检测该元素是否已存在于数组中,如果存在,我希望能够更改已发出两次的卡片,非常感谢您的帮助。 我的代码在下面,

      import java.util.Random;
      import java.util.Scanner;
      import java.util.Arrays;


    public class Poker
    {
        public final static String[] numbers = {"❤","♠","♦","♣"};  
        public final static String[] sign = {"1","2","3","4","5","6","7","8","10","J","Q","K","A"};
        private String[] hand = {"","","","",""};
        private boolean found;
        private Random random;

       public Poker()

        {

           found = false;
           String hand[] = {"","","","",""};
           int tokens = 10;

           Scanner in = new Scanner(System.in);
           random = new Random();
        }

       public void handOut()
        {

           for (int i = 0; i < 5; i++)
           {
               int numberRandom = random.nextInt(numbers.length);
               int signRandom = random.nextInt(sign.length);
               String pickedNumber = numbers[numberRandom];
               String pickedSign = sign[signRandom];
               String combinedSigns = pickedSign + pickedNumber;
               hand[i] = combinedSigns;
           System.out.print(hand[i] + " ");

       }
        System.out.println("\n");

   }
   }

最佳答案

您选择的术语...呃...有趣:-)

卡面值是“面值”,而不是符号。无论是心形还是钻石等等,这都是它的“花色”而不是它的数量。

但是,回到这个问题。我相信最好的方法是用面值和花色数组构建一整副 52 张牌,然后使用 Fisher Yates 洗牌来分发牌。

这是一种从数组中随机选择不重复元素的好方法。美妙之处在于数组中的项目实际上不需要预先洗牌。有关其工作原理的详细信息,请参阅 here .

关于java - 数组、算法和元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19216306/

相关文章:

html - CSS 内容元素使用 :before img works weird

javascript - 使用 javascript 单击刚刚打开的页面上的链接

python - 使用 xpath 查找表元素中的所有 tr?

java - JSF PrettyFaces 导致过滤器链 -'break'

java - NullPointEreException 选项卡布局 GridView

java - Java卷积

java - MongoDB[Java] : How do I query a stored UUID in byte[ ] format?

javascript - 用于验证字符串中括号的JS函数

arrays - 在模板文件中创建数组和循环的最佳方法是什么

java.lang.NoClassDefFoundError : org/springframework/context/ApplicationContext maven