Java 洗牌数组列表

Java 洗牌数组列表,java,libgdx,Java,Libgdx,我想洗牌一排牌。我在我的deck类中有一个如下所示的方法: public void shuffle(Array <Deck1> deck){ deckOne.shuffle(); } 然后我去把卡片打印出来。我现在面临的问题是如何传递给deckOne.shufflex;线其中x是我需要传递的 任何帮助都将不胜感激 我用LibJDX编写代码 我尝试了如下所示的洗牌方法,但它也不起作用 public void shuffle(){ deckOne.shuffle();

我想洗牌一排牌。我在我的deck类中有一个如下所示的方法:

public void shuffle(Array <Deck1> deck){
    deckOne.shuffle();
}
然后我去把卡片打印出来。我现在面临的问题是如何传递给deckOne.shufflex;线其中x是我需要传递的

任何帮助都将不胜感激

我用LibJDX编写代码

我尝试了如下所示的洗牌方法,但它也不起作用

public void shuffle(){
    deckOne.shuffle();
}

就像法罗和达菲莫已经说过的那样,你的问题不是很清楚——或者至少我们不是很清楚。我认为这里的问题可能是你使用了不适合你的领域的设计。特别是,为什么需要将任何内容传递给Deck类上的shuffle方法?难道它不能洗牌自己的内部牌吗

在我看来,下面这样的设计更有意义:

class Card {
   private int value;
   private String suit; // Or an enum, whatever you prefer

   ... constructor/getters/setters ...
}

class Deck {
    private ArrayList<Card> cards;

    ... constructor to initialize cards ...

    public void shuffle() {
        Collections.shuffle(cards);
    }
}

public class MainGame {
    private Deck deckOne;

    public MainGame() {
        deckOne = new Deck();
        deckOne.shuffle();
    }
}
让我们做一个简单的:整数列表

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * Demonstration of shuffle feature
 * User: mduffy
 * Date: 1/12/2016
 * Time: 11:05 AM
 * @link http://stackoverflow.com/questions/34747973/shuffling-an-array-list?noredirect=1#comment57242343_34747973
 */
public class ShuffleDemo {

    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
        System.out.println(String.format("before shuffle: %s", numbers));
        Collections.shuffle(numbers);
        System.out.println(String.format("after  shuffle: %s", numbers));
    }
}

你会怎么改变它,使之成为一张卡片列表,上面有一套西装和一张面值?一副牌有一张清单有意义吗?

你的问题到底是什么?就像我说的。我面临的问题是在deckOne.shufflex中传递什么;线其中x是我需要传递的。你必须传递一个数组实例,我不能告诉你从哪里得到它,因为你没有显示数组的定义Deck1@Faro我试过deckOne.shuffleDeck1;如果你想洗牌一系列的牌,它就不起作用了。在现实生活中,你洗牌一副牌,但一副牌是由52张牌组成的。你对你的问题或抽象理解得不够透彻。一张牌上会有一颗心形牌、梅花牌、钻石牌、黑桃牌和一张价值王牌、2、3等。。
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

/**
 * Demonstration of shuffle feature
 * User: mduffy
 * Date: 1/12/2016
 * Time: 11:05 AM
 * @link http://stackoverflow.com/questions/34747973/shuffling-an-array-list?noredirect=1#comment57242343_34747973
 */
public class ShuffleDemo {

    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
        System.out.println(String.format("before shuffle: %s", numbers));
        Collections.shuffle(numbers);
        System.out.println(String.format("after  shuffle: %s", numbers));
    }
}