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