数组为什么我在JAVA中的emptycase测试失败?
编辑:问题解决了,谢谢你们。谢谢你给我的其他建议
我正在代码战中做一个名为“蜗牛”(使用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,然后我也尝试在这两种情况下返回空数组
你知道怎么做才能通过这个空案例测试吗
# 1 楼答案
确定代码中的问题的步骤:
null
李>null
李>array.length
在array
为空时,保证array.length
抛出NullPointerException李>array
参数之前,先测试null
李># 2 楼答案
我认为外部数组包含内部数组,所以它的长度等于1,不是吗?内部数组不包含任何内容,因此应检查其中一个
# 3 楼答案
您的第一个},例如某人已经初始化并分配数组,如
if
条件的计算结果为true
iff使用一个数组调用该方法,该数组被初始化为new int[0][]
,其中array.length
是0
。测试日志告诉您考虑一个案例,其中^ {< CD4>}是^ {< CD7>},^ {< CD8>}是^ {只是为了可读性——你的
if
条件都有一对额外的括号