Java 随机生成4张扑克牌:教科书使用更长的代码?

Java 随机生成4张扑克牌:教科书使用更长的代码?,java,Java,这不会随机生成的原因是什么? 这本教科书的代码稍长一些 int[] deck = new int[52]; for (int i = 0; i < deck.length; i++) { deck [i] = i; } String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"}; String[] ranks = {"Ace", "2", "3

这不会随机生成的原因是什么? 这本教科书的代码稍长一些

int[] deck = new int[52];

        for (int i = 0; i < deck.length; i++) {
            deck [i] = i;
        }
        String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
        String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", "Ace"};

        int [] card = new int[4];


        for (int i = 0; i < 4; i++) {
            int index = (int)(Math.random()*52);
            card [i] = index;
            String cardRank = ranks[index % 13];
            String cardSuit = suits[index/13];
            System.out.println("card " + i + " is a " + cardRank + " of " + cardSuit);

        }
int[]deck=newint[52];
对于(int i=0;i
这对我来说是随机生成的。警告->您必须在您的排名列表中排名第一,%13:)我认为这将生成统一的随机卡。在你的等级数组中有一个额外的“王牌”(虽然这并不重要:)。哦,是的。谢谢这可以从“牌组”中两次获得同一张牌。因此,它将不是一个甲板。当你从牌组中取出一张牌时,它应该从牌组中移除。这对我来说是随机的。警告->您必须在您的排名列表中排名第一,%13:)我认为这将生成统一的随机卡。在你的等级数组中有一个额外的“王牌”(虽然这并不重要:)。哦,是的。谢谢这可以从“牌组”中两次获得同一张牌。因此,它将不是一个甲板。当你从牌组中取出一张牌时,它应该从牌组中移除。