返回Java中缺少数组的长度

时间:2018-03-29 14:58:37

标签: java arrays nullpointerexception arrayofarrays

好的,所以我正试图从代码战中完成任务,完全说:

“你得到一个数组数组。 如果按长度对数组进行排序,您将看到它们的长度值是连续的。 但是缺少一个阵列!

你必须编写一个返回缺失数组长度的方法。

实施例: [[1,2],[4,5,1,1],[1],[5,6,7,8,9]] - > 3

如果数组数组为null / nil或为空,则该方法应返回0.

当数组中的数组为null或为空时,该方法也应返回0! 总会有一个缺少的元素,它的长度总是在给定的数组之间。 “

我写了这样的代码:

package codewars;

import java.util.ArrayList;
import java.util.Collections;

public class CodewarsMissingArrays {

static int wynik = 0;

public static int getLengthOfMissingArray(Object[][] arrayOfArrays) 
{   

    if (arrayOfArrays.length == 0) {
        return wynik = 0;
    } else {

    ArrayList<Integer> lista = new ArrayList<Integer>();

    for (int y = 0; y < arrayOfArrays.length; y++) {
        if (arrayOfArrays[y].length == 0){
            return wynik = 0;
        } else {
        lista.add(arrayOfArrays[y].length);
        }
    }

    Collections.sort(lista);

    for ( int x = lista.size() - 1; x >= 0 ; x--) {
        if ( lista.get(x) - lista.get(x - 1) != 1 ) {
            wynik = lista.get(x) - 1;
            return wynik;
        }
    }

    }

    return wynik;
}
}

测试课程:

package codewars;

public class CodewarsTest {

public static void main(String[] args) {
    System.out.println(CodewarsMissingArrays.getLengthOfMissingArray(new Object[][] { new Object[] { 1, 2 }, new Object[] { 4, 5, 1, 1 }, new Object[] { 1 }, new Object[] { 5, 6, 7, 8, 9 }} ));
}

}

在本地它工作正常,但Kata返回NullPointerException:

java.lang.NullPointerException
at Kata.getLengthOfMissingArray(Kata.java:13)
at KataTests.BasicTests(KataTests.java:19)

我不知道可能出现什么问题,我认为它可能与arrayOfArrays对象有关,但我不知道究竟可能出现什么问题。

你能帮助我吗?

0 个答案:

没有答案