无法从Card转换为int

时间:2013-11-09 23:29:56

标签: java arrays types int

所以我有这种类型的卡阵列,我们称之为CardDeck []。我需要保存CardDeck [0]的信息以便以后使用。我以为我可以做到以下几点:

Card memory = theCards[0];
    for(int i=0;i<51;i++){

            theCards[i]=theCards[i+1];
            theCards[51]=theCards[memory];

对我而言,首先我创建一个名为“type”卡的内存的新变量,并将theCards [0]中的信息复制到它。

然后每个“卡”向左移动一步,例如第二个位置的卡被移动(或者相反地)移动到第一个插槽,第三个卡移动到第二个插槽,依此类推,一直到第52张牌被移动到第51个位置。然后我们保存到memory的第一个插槽中的卡片进入第52个插槽。

但是最后一行不起作用,它说cannot convert from Card to int并且我没有得到它,我不使用int类型,它的所有Card类型都是如此?

1 个答案:

答案 0 :(得分:1)

请改为尝试:

Card memory = theCards[0];
for(int i=0;i<51;i++){
   theCards[i]=theCards[i+1];
}
theCards[51]= memory;

您正在尝试将memory用作索引到数组中。索引始终是整数,而memoryCard的实例。

当您写Card memory = theCards[0];时,您说要将卡存储在theCards中的位置0,并且您希望将其分配给名为memory的变量。

如果您要说Card memory = theCards[42];,那么您希望分配给memory的是存储在第42位的信用卡。

当你说theCards[51]=theCards[memory];时,你试图说你想让卡位于某个牌位置并且你想把它放在阵列51的位置。但是“定位一些牌”没有意义,{ {1}}不是一个位置,它是一张真正的卡片。就像对食品杂货商说,你想要冰淇淋号太阳萝莉。你不想要冰淇淋号太阳棒,你想要太阳棒。