有人可以解释一下此Java代码有什么问题吗?

时间:2020-01-15 09:30:46

标签: java loops for-loop error-handling compiler-errors

for (i = 0; i < 10; i++) {
    int sum;

    sum = sum+i;
}

System.out.println("Sum is " + sum);

我正在尝试弄清楚应该在Java中运行的这段代码有什么问题。在VSCode中,尝试编译和运行它时会收到很多错误,但我似乎无法理解是什么导致了错误。

2 个答案:

答案 0 :(得分:2)

sum是在循环内部定义的,仅在该范围内可用。

没有声明i变量,可以在循环中声明它。

这是一种解决方法:

int sum = 0;

for (int i = 0; i < 10; i++) {
    sum = sum + i; // or sum += i;
}

System.out.println("Sum is " + sum);

答案 1 :(得分:1)

sumfor循环内声明。它的作用域在循环内结束,而您尝试在for循环外进行访问,因此编译器将引发错误。