Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 试图得到一手牌来展示西装符号_Java_Loops_For Loop_Nullpointerexception_Switch Statement - Fatal编程技术网

Java 试图得到一手牌来展示西装符号

Java 试图得到一手牌来展示西装符号,java,loops,for-loop,nullpointerexception,switch-statement,Java,Loops,For Loop,Nullpointerexception,Switch Statement,我正在研究一种方法,试图显示手部的西服符号,因此它将是4(club),而不是4C,其中(club)是club符号的unicode 对于switch语句,HEART、CLUB等在我的程序顶部声明为字符串,表示正确的unicode 我的问题是,当我运行该方法时,包含“Card Card=cards[I];”的行产生了一个空指针异常,我不知道为什么。请帮忙:) 我在上面有“私人卡”。当我尝试do=hand.getCards时,它会产生一个错误,因为ArrayList无法转换为Card[] 这是我现在的

我正在研究一种方法,试图显示手部的西服符号,因此它将是4(club),而不是4C,其中(club)是club符号的unicode

对于switch语句,HEART、CLUB等在我的程序顶部声明为字符串,表示正确的unicode

我的问题是,当我运行该方法时,包含“Card Card=cards[I];”的行产生了一个空指针异常,我不知道为什么。请帮忙:)

我在上面有“私人卡”。当我尝试do=hand.getCards时,它会产生一个错误,因为ArrayList无法转换为Card[]

这是我现在的方法

private String displaySuits() {
    for (int i = 0; i < hand.getCards().size(); i++) {
        Card card = cards[i];
        suits.append(" ");
        suits.append(card.getRank());

        switch (card.getSuit()) {
            case SPADE:
                suits.append(SPADE);
                break;
            case DIAMOND:
                suits.append(DIAMOND);
                break;
            case CLUB:
                suits.append(CLUB);
                break;
            case HEART:
                suits.append(HEART);
                break;
        }

    }
    return suits.toString();
}
private String displaySuits(){
对于(int i=0;i
您忘记在方法中定义卡片的数组列表

private String displaySuits() {

    ArrayList<Card> cards = hand.getCards();
    StringBuilder suits = new StringBuilder();

    for (int i = 0; i < cards.size(); i++) {
        Card card = cards[i];
        suits.append(" ");
        suits.append(card.getRank());

        switch (card.getSuit()) {
            case SPADE:
                suits.append((char)'\u2660');
                break;
            case DIAMOND:
                suits.append((char)'\u2666');
                break;
            case CLUB:
                suits.append((char)'\u2663');
                break;
            case HEART:
                suits.append((char)'\u2764');
                break;
        }

    }
    return suits.toString();
}
private String displaySuits(){
ArrayList cards=hand.getCards();
StringBuilder套装=新的StringBuilder();
对于(int i=0;i
您忘记在方法中定义卡片的数组列表

private String displaySuits() {

    ArrayList<Card> cards = hand.getCards();
    StringBuilder suits = new StringBuilder();

    for (int i = 0; i < cards.size(); i++) {
        Card card = cards[i];
        suits.append(" ");
        suits.append(card.getRank());

        switch (card.getSuit()) {
            case SPADE:
                suits.append((char)'\u2660');
                break;
            case DIAMOND:
                suits.append((char)'\u2666');
                break;
            case CLUB:
                suits.append((char)'\u2663');
                break;
            case HEART:
                suits.append((char)'\u2764');
                break;
        }

    }
    return suits.toString();
}
private String displaySuits(){
ArrayList cards=hand.getCards();
StringBuilder套装=新的StringBuilder();
对于(int i=0;i
当您使用
阵列列表时,不要将
声明为阵列
卡[]

private List<Card> cards;
您必须访问以下元素:

cards.get(i);
注意事项:

  • 不要忘记
    ArrayList
    s与数组不同
  • 不要忘记声明和初始化
    套装
    ,例如:

    StringBuilder套装=新建StringBuilder()


当您使用
阵列列表时,不要将
声明为阵列
卡[]

private List<Card> cards;
您必须访问以下元素:

cards.get(i);
注意事项:

  • 不要忘记
    ArrayList
    s与数组不同
  • 不要忘记声明和初始化
    套装
    ,例如:

    StringBuilder套装=新建StringBuilder()



您可以发布
卡的声明/初始化吗
?您是指我的卡类吗?因为您试图通过索引
i
访问
卡的元素,所以
卡应该是一个数组。发布它的声明/初始化,我想应该类似于
Card[]cards…
我在顶部有“private Card[]cards;”。当我尝试do=hand.getCards时,它会产生一个错误,因为ArrayList无法转换为Card[]您可以发布
卡的声明/初始化吗
?您是指我的卡类吗?因为您试图通过索引
I
访问
卡的元素,所以
应该是一个数组。发布它的声明/初始化,我想应该类似于
Card[]cards…
我在顶部有“private Card[]cards;”。当我尝试do=hand.getCards时,它会产生一个错误,因为ArrayList无法转换为Card[],这会产生一个错误,因为ArrayList无法转换为Card[],我刚刚为您更改了它。你还需要在某个地方定义“西装”。这是一个StringBuffer对象吗?我不确定StringBuffer是什么,所以可能不是。那么它是什么?大多数列表类都使用Add而不是Append。我发现了这一点。我需要在心、钻石、黑桃等上加一个S。非常感谢你的帮助+这会产生错误,因为ArrayList无法转换为Card[]我刚刚为您更改了它。你还需要在某个地方定义“西装”。这是一个StringBuffer对象吗?我不确定StringBuffer是什么,所以可能不是。那么它是什么?大多数列表类都使用Add而不是Append。我发现了这一点。我需要在心、钻石、黑桃等上加一个S。非常感谢你的帮助+repI不认为您希望将卡片设置为类的全局,因为其状态由hand对象控制。我认为这不够清楚,因为他没有提供有关他正在使用的类的进一步信息。我做了这个假设,因为他提到他已经宣布
为私人卡。但是你所说的完全是错误的