在我的洗牌甲板功能时获得一个typemismatch错误,试图通过boolean变量
public void shuffleDeck(){
Random rng = new Random();
for(int i = 0; i < shuffledDeck.length; i++){
deckOfCards[i] = shuffledDeck[rng.nextInt(52)].setFlag(true);
我想通过所有52卡的运行,并打乱他们被随机的位置到另一个阵列。然而,为了防止同一张卡片被覆盖,我在另一个接受布尔参数的类中写了一个setFlag函数,然后我将使用它来检查标志是否设置等等。然而,在最后一行,我得到了错误 “类型不匹配:不能从void转换为卡片......”不知道为什么我得到这个错误。
卡片c = shuffledDeck [rng nextInt(52)]; c.setFlag(真); deckOfCards [I] = C; –
setFlag是一个函数,shuffledDeck是一个数组。您不能使用数组调用函数。 – AlphaQ
那么这是怎么来的呢?deckOfCards [cardCount] .setSuit(suit [suitCount]); deckOfCards [cardCount] .setFace(face [faceCount],faceValue); – ComradeSpaceMan