Может кто-нибудь объяснить, что не так с этим java кодом? - PullRequest
0 голосов
/ 15 января 2020
for (i = 0; i < 10; i++) {
    int sum;

    sum = sum+i;
}

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

Я пытаюсь выяснить, что не так с этим фрагментом кода, который должен работать в java. В VSCode я получаю много ошибок при попытке скомпилировать и запустить его, но я не могу понять, что является причиной ошибок.

Ответы [ 2 ]

2 голосов
/ 15 января 2020

sum определено внутри l oop, доступно только в этой области.

И переменная i не объявлена, ее можно объявить только в l oop.

Это способ исправить:

int sum = 0;

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

System.out.println("Sum is " + sum);
1 голос
/ 15 января 2020

sum объявлено внутри for l oop. Это область видимости внутри l oop, и вы пытаетесь получить к ней доступ за пределами for l oop, и, следовательно, компилятор выдаст ошибку.

...