eclipse中试图查找数组总和时的死代码



我试图通过使用for循环来找到任何数组的和,但I++部分最终成为无法访问的死代码。我不明白为什么?

public static int sum(int[] data) {
int sum = 0;
int i;
for (i = 0; i < data.length; i++) { //the i ++ is the deadcode
sum += data [i];
return sum;
}
return 0;
}

i++是死代码,因为它永远无法访问。它永远无法访问,因为循环中有一个return语句。因此,它永远不会执行for循环的增量部分。将return sum;移出循环(替换return 0;(。

public static int sum(int[] data) {
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data [i];
}
return sum;
}

不要为循环返回内部内容,因为返回结束了整个函数的循环。

相反,做一些类似的事情:

public static int sum(int[] data) {
int sum = 0;
for (int i = 0; i < data.length; i++) {
sum += data[i];
}
return sum;
}

您总是在第一次迭代后返回,因此除了第一个元素之外,您不会对任何内容求和。你应该这样做:

public static int sum(int[] data) {
int sum = 0;
for (int i = 0; i < data.length; i++)
{ 
sum += data [i];
}
return sum;
}
public static void main(String[] args)
{
int data[] = {1,2,3,4,5}; 
int sum = sum(data);

System.out.println(sum);
}

}

相关内容

  • 没有找到相关文章

最新更新