Java 创建卡片类时遇到问题

Java 创建卡片类时遇到问题,java,Java,我无法将r[rank]转换为字符串。Eclipse一直说它需要解析为一个数组。卡[13*i+j]也有问题=新卡(i,j);它只是不断地说不能解析为变量。这是我的密码 public class Card { private String suit; private String rank; private static String[] s = { "hearts", "spades", "diamonds", "clubs" }; private static

我无法将r[rank]转换为字符串。Eclipse一直说它需要解析为一个数组。卡[13*i+j]也有问题=新卡(i,j);它只是不断地说不能解析为变量。这是我的密码

public class Card {

    private String suit;
    private String rank;
    private static String[] s = { "hearts", "spades", "diamonds", "clubs" };
    private static String[] r  = { "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King" };

    public Card(int suit, int deck){
        for(int i = 0; i < 4; i++) {
            for(int j = 0; j < 13; j++){
               Cards[13*i + j] = new Card(i, j); 
            }
        }
    }

    public Card(String r, String s, String suit){
        for(int rank = 0; rank < r.length(); rank+=1){
            if( rank.equals(r[rank]) ){
                this.rank = r+1;
            }
        }
        this.suit = suit;
    }

    public String getSuit(){
        return suit;
    }

    public void setSuit(String a, String suit) {
        this.suit = suit;
    }

    public String getRank(){
        return rank;
    }
    public void setRank( String s, String rank){
        this.rank= rank;
    }

    public String toString(){
        return String.valueOf(this.getRank()) + String.valueOf(this.getSuit().charAt(0));
    }

}
公共类卡{
私服;
私有字符串秩;
私有静态字符串[]s={“红心”、“黑桃”、“钻石”、“梅花”};
私有静态字符串[]r={“Ace”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“10”、“Jack”、“Queen”、“King”};
公共卡(内部套装、内部套牌){
对于(int i=0;i<4;i++){
对于(int j=0;j<13;j++){
卡片[13*i+j]=新卡片(i,j);
}
}
}
公共卡(r串、s串、西服串){
对于(int-rank=0;rank
公务舱甲板{

private Card[] deck;
private int inDeck;
private final int SIZE_OF_DECK = 52; 
private int currentCard;

public Deck(){
    deck = new Card[deck];
}

private void init(){

}

public void shuffle(int num){
    int i,j,k;
    for (k = 0; k < num; k++)
    {
        i = (int) (SIZE_OF_DECK * Math.random()*100);
        j = (int) (SIZE_OF_DECK * Math.random()*100);

        Card tmp = deck[i];
        deck[i] = deck[j];
        deck[j] = tmp;
    }
    currentCard = 0;
}

public Card getCard(){
    if (currentCard<SIZE_OF_DECK)
    {
        return deck[currentCard++];
    }
    else
    {
        System.out.print("out of cards error");
        return null;
    }
    }

public int totalCards(){
    return SIZE_OF_DECK ;}
私人卡[]组;
英德克私人酒店;
甲板的私人最终整型尺寸=52;
个人信用卡;
公共甲板(){
卡片组=新卡片[卡片组];
}
私有void init(){
}
公共无效洗牌(整数){
int i,j,k;
对于(k=0;k如果(currentCard您从未初始化您的卡阵列…请在使用循环创建每个单独的对象之前尝试类似的操作

Card[] cards = new Card[52];

是的,我不知道该怎么做只要让你的卡片[]成为这个类固有的全局变量,你就应该没事了。@dasblinkenlight同意,但他说他需要帮助来处理
cards[13*I+j]=新卡片(I,j)
这将促使他进行修复。我还有这个程序,它将由我的教授测试课进行测试。我把它贴在了上面。谢谢你们,我真的很感谢你们的帮助。