2014-02-18 36 views
1

我几乎跟我的项目做,我得到这个错误:类型的表达式必须是一个数组类型,但它解析为卡

“之类的表达必须是一个数组类型,但它决心一卡通”

它是在读取行:deck[i] = newCard[i];下面的代码:

public class Deck 
{ 
    //nextCard is used to keep count of which number card you are on in the deck. 
    public int nextCard; 
    private static final int DECK_SIZE = 52; 

    //deck is used to represent an entire deck of cards. 
    Card[] deck; 
    //hand is a pair of 7 cards; is generated by dealACard(); 
    Card[] hand; 

    /** 
    * Default Constructor   
    * 
    * <hr> 
    * Date created: Feb 17, 2014 
    * 
    * 
    */ 
    public Deck () 
    { 
     int i; 
     nextCard = 0; 

     for(i=0;i<DECK_SIZE;i++) 
     { 
      Card newCard = new Card(i); 

      deck[i] = newCard[i]; 
     } 
    } 

我在做什么错?

回答

2

删除阵列支架用刚刚创建

deck[i] = newCard; 
       ^
+0

当。打败我吧。 = D –

+0

好吧,我现在就试试吧 – Chisx

+0

哦,哇。我是个白痴。谢啦。我不知道我在想什么..- .ZZ – Chisx

2

代码

deck[i] = newCard[i]; 

手段Card实例:

Put the object at index i from my Array newCard into index i in my Array deck 

你真正想要的是

Put this object newCard into index i in my Array deck 

因为newCard不是一个数组,它是一个Card对象,它是您的Array deck保持的类型。只需将您的代码更改为:

deck[i] = newCard; 
+0

谢谢你花时间解释这种情况的人。虽然我是给予@Reimeus的,但他首先回答了。我实时观看了它。 – Chisx

+0

没有问题!莱梅斯的回答很好,很简洁! – mdewitt

相关问题