Почему я получаю эту ошибку компиляции в Java? - PullRequest
0 голосов
/ 11 марта 2009

В Java почему следующий код не разрешен компилятором?

public class Test {

    public static void main(String[] args) {

        int x;
        int x = 4;// the error is generated here

    }

}

Ответы [ 2 ]

12 голосов
/ 11 марта 2009

Потому что второй

int x = 4;

Пытается создать переменную с именем "x" типа int, но эта переменная уже существует (создана в предыдущей строке)

Вероятно, вы хотели бы сделать:

int x;
x = 4;

(без использования int во второй строке)

Это присваивает значение 4 х.

Или даже лучше:

int x = 4;

Это создает переменную x типа int и присваивает значение 4.

11 голосов
/ 11 марта 2009

Вы объявили две int переменные; оба названы x. Это не разрешено.

Попытка:

public static void main(String[] args) {
    int x;
    x = 4;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...