尝试查找数组的总和时 eclipse 中的死代码
Dead code in eclipse when trying to find the sum of an array
我试图通过使用 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;
}
不要return for 循环里面的东西,因为return 结束了整个函数的循环。
相反,做这样的事情:
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);
}
}
i++
是死代码,因为它永远无法到达。它永远无法到达,因为您在循环中有一个 return 语句。因此,它永远不会执行 for-loop 的增量部分。将 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;
}
我试图通过使用 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;
}
不要return for 循环里面的东西,因为return 结束了整个函数的循环。
相反,做这样的事情:
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);
}
}
i++
是死代码,因为它永远无法到达。它永远无法到达,因为您在循环中有一个 return 语句。因此,它永远不会执行 for-loop 的增量部分。将 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;
}