编辑:问题解决了,谢谢你们。同时也感谢你的其他建议!
我正在用CodeWars做一个叫做“蜗牛”的四轮形式图。一切都很好,所有的测试都通过了,而不是一个--“空案例”。
此测试的日志为:
[[]] should be sorted to []所以我猜想,“如果一个数组是空的,我也应该返回一个空数组”。
下面我将介绍我的方法的开始:
public static int[] snail(int[][] array) { 
    if ((array.length==0)) {
        int[] result  = new int[0]; 
        return result;
    }      
    if ((array==null)) {
        int[] result  = null;
        return result;
    }我也尝试在这两种情况下返回null,然后在这两种情况下我也尝试返回空数组...
有什么办法通过这个空箱测试吗?
发布于 2018-10-08 22:02:41
我认为外部数组包含内部数组,所以它的长度等于1-不是吗?内部数组不包含任何内容,因此应检查该数组。
发布于 2018-10-08 22:25:38
第一个if条件的计算结果为true,如果调用该方法的数组的初始化方式类似于new int[0][] -其中array.length为0。测试日志将告诉您考虑一种情况,其中array.length为1,array[0].length为0,例如,有人初始化并分配了如下数组
int[][] array = new int[1][];
array[0] = new int[0];只是为了可读性-您的if条件每个都有一对额外的括号。
发布于 2018-10-08 22:40:07
确定代码中问题的步骤:
在您的代码中阅读[]不是null.
和空数组。当
array.length抛出NullPointerException。尝试取消引用array参数之前,请测试null。https://stackoverflow.com/questions/52703683
复制相似问题