尝试传递布尔参数时获取typemismatch错误

时间:2016-12-11 18:32:44

标签: java arrays types mismatch

在我的shuffle deck功能中,

    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函数,然后我将使用它来检查标志是否已设置等等。但是,在最后一行,我收到了错误 &#34;类型不匹配:无法从void转换为Card&#34; ...根本不确定为什么我收到此错误。

1 个答案:

答案 0 :(得分:0)

问题是你的函数 shuffleDeck 必须在没有参数的情况下被调用,比如shuffleDeck();,无论如何,正如评论中的人所说,你试图以一种方式调用是不可能的:shuffledDeck[rng.nextInt(52)]

使用您使用的语法无法调用任何函数。