首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么JAVA中的空例测试失败?

为什么JAVA中的空例测试失败?
EN

Stack Overflow用户
提问于 2018-10-08 21:44:15
回答 3查看 140关注 0票数 0

编辑:问题解决了,谢谢你们。同时也感谢你的其他建议!

我正在用CodeWars做一个叫做“蜗牛”的四轮形式图。一切都很好,所有的测试都通过了,而不是一个--“空案例”。

此测试的日志为:

代码语言:javascript
运行
复制
[[]] should be sorted to []

所以我猜想,“如果一个数组是空的,我也应该返回一个空数组”。

下面我将介绍我的方法的开始:

代码语言:javascript
运行
复制
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,然后在这两种情况下我也尝试返回空数组...

有什么办法通过这个空箱测试吗?

EN

回答 3

Stack Overflow用户

发布于 2018-10-08 22:02:41

我认为外部数组包含内部数组,所以它的长度等于1-不是吗?内部数组不包含任何内容,因此应检查该数组。

票数 0
EN

Stack Overflow用户

发布于 2018-10-08 22:25:38

第一个if条件的计算结果为true,如果调用该方法的数组的初始化方式类似于new int[0][] -其中array.length0。测试日志将告诉您考虑一种情况,其中array.length1array[0].length0,例如,有人初始化并分配了如下数组

代码语言:javascript
运行
复制
int[][] array = new int[1][];
array[0] = new int[0];

只是为了可读性-您的if条件每个都有一对额外的括号。

票数 0
EN

Stack Overflow用户

发布于 2018-10-08 22:40:07

确定代码中问题的步骤:

在您的代码中阅读[]不是null.

  • Look的instructions.

  • Recognize;注意到当输入为空时返回的是null。当输入为empty.

  • Understand时,
  1. 接受[]不是

和空数组。当

  1. 为null时,保证array.length抛出NullPointerException。尝试取消引用array参数之前,请测试
  2. null
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52703683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档