Java 不兼容的类型卡无法转换为字符串

Java 不兼容的类型卡无法转换为字符串,java,Java,不确定如何修复这个错误,我在代码中注释了错误的位置,对java来说非常陌生。我正在尝试将我的卡发送到构造函数中,并创建一个牌组数组 public abstract class CardGame { protected String[] deck = new String[52]; private String[] Suit = {"Spade","Dimond","Heart","Club"}; private String[] Card = {"2","3","4","

不确定如何修复这个错误,我在代码中注释了错误的位置,对java来说非常陌生。我正在尝试将我的卡发送到构造函数中,并创建一个牌组数组

public abstract class CardGame {
    protected String[] deck = new String[52];
    private String[] Suit = {"Spade","Dimond","Heart","Club"};
    private String[] Card = {"2","3","4","5","6","7","8","9","10","jack","queen","king","ace"};

public CardGame(){
    int c = 0;
   for (int x=0; x < Suit.length; ++x){
       for (int i = 0; i < Card.length; ++i){
           deck[c] = new Card(Suit[x], Card[i]); // heres the error
           c++;
       }

    } 

}

}

public class Card {
   String suit;
   String name;

public Card(String s,String n){
    suit = s;
    name = n;
}

public String getsuit(){
   return suit;
}

public String getname(){
   return name;
}

}
公共抽象类卡片游戏{
受保护字符串[]组=新字符串[52];
私人字符串[]套装={“黑桃”、“迪蒙”、“心脏”、“俱乐部”};
私人字符串[]卡={“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“杰克”、“女王”、“国王”、“王牌”};
公共纸牌游戏(){
int c=0;
对于(int x=0;x
问题出在这里:

protected String[] deck = new String[52];
你有一个数组,它将你的牌表示为类型字符串,如果你想将牌插入到该牌组中,你可能需要一个类型为Card的数组

要使您的问题行正常工作:

deck[c] = new Card(Suit[x], Card[i]);
您需要这样声明deck:

protected Card[] deck = new Card[52];
问题是:

protected String[] deck = new String[52];
你有一个数组,它将你的牌表示为类型字符串,如果你想将牌插入到该牌组中,你可能需要一个类型为Card的数组

要使您的问题行正常工作:

deck[c] = new Card(Suit[x], Card[i]);
您需要这样声明deck:

protected Card[] deck = new Card[52];

TYVM起作用了,所以我猜是用受保护的卡[]牌组=新卡[52];我创建了一个卡数据类型数组?oop非常混乱。@user3538292将您的数据结构(数组)视为只适合特定类型对象的容器,例如鸡蛋盒只能包含鸡蛋,或者保龄球袋只能包含保龄球。保龄球不属于,也不适合放在鸡蛋盒里。当您声明一个数据结构时,您还可以告诉Java编译器哪些内容属于它(特定类的典型对象或该类的子类对象)。你编写的代码越多,你就会越习惯这个想法。请记住:每件事都有一个特定的位置。TYVM起作用了,所以我猜是用受保护的卡[]牌组=新卡[52];我创建了一个卡数据类型数组?oop非常混乱。@user3538292将您的数据结构(数组)视为只适合特定类型对象的容器,例如鸡蛋盒只能包含鸡蛋,或者保龄球袋只能包含保龄球。保龄球不属于,也不适合放在鸡蛋盒里。当您声明一个数据结构时,您还可以告诉Java编译器哪些内容属于它(特定类的典型对象或该类的子类对象)。你编写的代码越多,你就会越习惯这个想法。只要记住:每件事都有一个特定的地方。