gpt4 book ai didi

java - 数组对象的数组

转载 作者:行者123 更新时间:2023-12-01 19:32:32 25 4
gpt4 key购买 nike

基本上,我正在尝试创建一个对象数组,其中有两个数组,但是当我尝试填充这些数组时,我不断得到一个空指针,但是当我填充对象而不创建对象数组时,它似乎有效。

我不断得到--> 线程“main”中的异常 java.lang.NullPointerException

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class CardTrick{
int[] combo;
int[] cardTeller;

public CardTrick()
{
combo = new int[3];
for (int j = 0; j < 3; j++) {
combo[j] = 0;
}
cardTeller = new int[2];
for (int j = 0; j < 2; j++) {
cardTeller[j] = 0;
}
}

public CardTrick(CardTrick c) { // notice the parameter is an object

combo = new int[3];
for (int j = 0; j < 3; j++) {
combo[j] = 0;
}
cardTeller = new int[2];
for (int j = 0; j < 2; j++) {
cardTeller[j] = 0;
}

}
public void whatCards(){
int num = 0;
CardTrick[] list = new CardTrick[56];

list[0].combo[1] = 1;
list[0].combo[2] = 1;
list[0].cardTeller[0] = 1;
list[0].cardTeller[1] = 1;

System.out.println(list[0].combo[1]);

}

public static void main(String[] args){
CardTrick ct = new CardTrick();
ct.whatCards();
}
}

最佳答案

问题出在这几行代码

CardTrick[] list = new CardTrick[56];

list[0].combo[1] = 1;

您创建了一个对象数组,但您的对象本身并未实例化,因此引发了 NullPointerException

在访问数组之前,您必须实例化数组的每个单元

CardTrick[] list = new CardTrick[56];
list[0] = new CardTrick();

list[0].combo[1] = 1;

关于java - 数组对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59163867/

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