gpt4 book ai didi

java - 如何获得正确的测试方法语法

转载 作者:行者123 更新时间:2023-12-02 05:56:10 24 4
gpt4 key购买 nike

我认为我在这里做了一些非常低效的事情,但我正在尝试创建一个测试方法来检查我的 containsOpposites 方法是否有效。我相信 containsOpposites 方法确实有效,但 main 方法仅返回 true,即使数组不包含相反的元素也是如此。我做错了什么?

boolean containsOpposites(int[] a) {
for (int i=0;i<a.length; i++){
for (int k= i+1; k<a.length; k++){

if (a[i]== -a[k]){ return true;

}

}
}

return false;

}

String test (int []a) {
if (containsOpposites(a)) {return "true";}
else return "false";
}

public void main (String[] args) {
int []l = new int[10]; /*this array contains no negative elements but the test
method return true*/
l[0]=1;
l[1]=2;
l[2]=3;
l[3]=2;

System.out.println("" + test(l));

}

最佳答案

当你这样做时 int []l = new int[10]; 你最终会得到一个看起来像 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]。然后覆盖前 4 个元素,但其余 6 个元素仍为 0。由于 -0 == 0 的计算结果为 true,因此您的代码认为存在相反的情况。

参见this question关于 Java 如何根据数据类型初始化数组。

关于java - 如何获得正确的测试方法语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23069439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com