Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays - Fatal编程技术网

Java 如何查看阵列中有多少内存位置已满

Java 如何查看阵列中有多少内存位置已满,java,arrays,Java,Arrays,我正在做一个项目,需要帮助。所以我分配了我的数组,例如: hand = new PlayingCard[5]; //5 Cards in a hand 我设置了手牌[0]和手牌[1]的信息 我的问题是,当我试图计算出有多少 卡片目前在手[]我得到5张而不是2张 numCards = hand.length; 我现在需要做什么才能使numCards等于2?您可以轻松使用: public static int countNonNullElements(Object[] array) {

我正在做一个项目,需要帮助。所以我分配了我的数组,例如:

hand = new PlayingCard[5]; //5 Cards in a hand
我设置了手牌[0]和手牌[1]的信息

我的问题是,当我试图计算出有多少 卡片目前在手[]我得到5张而不是2张

numCards = hand.length;

我现在需要做什么才能使numCards等于2?

您可以轻松使用:

public static int countNonNullElements(Object[] array) {
    int count = 0;
    for (int i = 0; i < array.length; i++) {
        if (array[i] != null) {
            count++;
        }
    }
    return count;
}

但是,通常最好使用列表,例如ArrayList来表示大小不同的集合。

您可以轻松使用:

public static int countNonNullElements(Object[] array) {
    int count = 0;
    for (int i = 0; i < array.length; i++) {
        if (array[i] != null) {
            count++;
        }
    }
    return count;
}

但是,通常最好使用列表(例如ArrayList)来表示大小不同的集合。

您可以循环:

int count = 0
for (PlayingCard c : hand) {
    if (c != null) count ++
}
//count is now how many cards there are

您可以循环:

int count = 0
for (PlayingCard c : hand) {
    if (c != null) count ++
}
//count is now how many cards there are

您可以实现一个迭代整个数组以查看索引中是否有元素的方法,也可以保留一个带有数字的局部变量,并通过添加和删除来控制它


如果可能的话,我更喜欢第二个。它以恒定时间为1个局部变量的价格提供答案,而不是线性时间,这将是第一个解决方案

您可以实现一种方法,迭代整个数组以查看索引中是否有元素,或者您可以保留一个带有数字的局部变量,并通过添加和删除来控制它

如果可能的话,我更喜欢第二个。它以恒定时间为1个局部变量的价格提供答案,而不是线性时间,这将是第一个解决方案

您正在创建一个游戏卡数组,一旦初始化,该数组将具有固定大小,即在您的情况下为5

您可以使用列表

playingCardList的大小为2

您正在创建一个PlayingCard数组,该数组一旦初始化,将具有固定大小,即在您的情况下为5

您可以使用列表


playingCardList的大小为2

使用列表而不是数组。。。。并使用大小来查看有多少个+1使用列表而不是阵列。。。。并使用大小来查看有多少个+1 countNonNullElements是一种方法吗??我需要设置numCards来表示手牌数组中的牌数。@LClarke27:是的,这是一种方法。您可以调用该方法,将引用传递给数组。你知道调用方法了吗?countNonNullElements是方法吗??我需要设置numCards来表示手牌数组中的牌数。@LClarke27:是的,这是一种方法。您可以调用该方法,将引用传递给数组。您已经学习了调用方法吗?