gpt4 book ai didi

java - 简单卡类的空点异常错误

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:30:28 24 4
gpt4 key购买 nike

我是 Java 的初学者,我一直在编写测试代码以应用我读到的一些概念。所以,我想创建一个类来描述扑克牌。卡类包含描述套件和值的字段(所有 4 个套件均为 1 - 13)。这个类创建起来非常简单,如您所见 --

public class Card {
private String suite;
private int cardValue;

Card(String s, int cV){
this.suite = s;
this.cardValue = cV;
}

public String getSuite(){
return this.suite;
}

public int getCardValue(){
return this.cardValue;
}
}

我创建了另一个类来测试这个类,并将 52 张卡片添加到一个数组中(我有另一个类将处理 52 张卡片组,但这在我这里的问题的上下文中并不重要)。这个名为 CardTest 的类包含主要方法。我创建了一个 for 循环,将所有内容附加到牌组数组,但是当我想遍历牌组并打印出卡片值(套件和值(value))时,我的问题就出现了。我收到 NullPointException 错误。这是 cardTest 类:

public class CardTest {
public static void main(String[] args){
Card[] temp = new Card[52];
for (int i = 0; i <12; i++){
temp[i] = new Card("Spade", i + 1);
temp[i+13] = new Card("Club", i + 1);
temp[i+26] = new Card("Diamond", i + 1);
temp[i +39] = new Card("Heart", i + 1);
}
for (int i = 0; i < 52; i++){
System.out.println(temp[i].getSuite());
}
}
}

我试图搜索有关此类错误的问题,但我收集到的唯一信息是 Card 对象被设置为默认“空”值时存在问题,这会在方法上产生错误称呼。

最佳答案

你创建卡片的 for 循环是错误的你只创建了 12*4=48 张卡片,让 temp[12]、temp[25]、temp[38] 和 temp[51] 为空,试试

    for (int i = 0; i <13; i++){
temp[i] = new Card("Spade", i + 1);
temp[i+13] = new Card("Club", i + 1);
temp[i+26] = new Card("Diamond", i + 1);
temp[i +39] = new Card("Heart", i + 1);
}

关于java - 简单卡类的空点异常错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12327116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com