编辑:问题已解决,谢谢。还要感谢您提供其他提示!
我正在CodeWars中使用“ Snail”(使用JAVA)制作4kyu kata。一切正常,所有测试都通过了,而不是一个空的测试。
此测试的日志显示:
[[]] 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,然后在两种情况下都试图返回空数组...
有什么想法可以通过此空箱测试吗?
答案 0 :(得分:0)
我认为外部数组包含内部数组,所以它的长度等于1-是吗?内部数组不包含任何内容,因此应检查其中一个。
答案 1 :(得分:0)
您的第一个if
条件的计算结果为true
iff 该方法用一个初始化为new int[0][]
的数组调用-其中array.length
是0
。测试日志告诉您考虑以下情况,其中array.length
是1
,而array[0].length
是0
,例如有人初始化并分配了
int[][] array = new int[1][];
array[0] = new int[0];
仅出于可读性考虑-您的if
条件每个都有一对额外的括号。
答案 2 :(得分:0)
确定代码中问题的步骤:
null
。null
。array.length
为空时,保证array
会引发NullPointerException。null
参数之前测试array
。