Почему я не могу использовать скобки в этом цикле while?

Да, pClass будет собираться мусором. Подписка на мероприятие не подразумевает, что какая-либо ссылка существует для pClass.

Так нет, вам не придется отсоединять обработчик, чтобы pClass собирался собирать мусор.

-3
задан JDoeDoe 22 March 2019 в 11:51
поделиться

3 ответа

Добавление скобок для ясности - отличная идея. Этот вопрос является ярким примером того, почему: Ваш отступ приводит к путанице:)

while (in.findInLine("00-01") == null)  in.nextLine();

Равен (и должен быть преобразован в):

while (in.findInLine("00-01") == null) {
  in.nextLine();
}

Итак, для вопроса :

Итак, как мне интерпретировать

while (in.findInLine("00-01") == null)  in.nextLine();
    in.nextLine();

Ответ:

while (in.findInLine("00-01") == null) {
  in.nextLine();
}
in.nextLine();
0
ответ дан jensgram 22 March 2019 в 11:51
поделиться

Без скобок цикл применяется только к первому утверждению. Таким образом, ваш код должен быть

while (in.findInLine("00-01") == null) 
{
    in.nextLine();
}
in.nextLine();
for (int j = 0; j < data[0].length; j++) 
{
    data[0][j] =  Integer.parseInt(in.findInLine("[0-9]+|-"));
    in.nextLine();
}
0
ответ дан Elliott Frisch 22 March 2019 в 11:51
поделиться

Ваш первый кодовый блок эквивалентен

while (in.findInLine("00-01") == null) {
  in.nextLine();
}

in.nextLine();

for (int j = 0; j < data[0].length; j++) 
{
  data[0][j] =  Integer.parseInt(in.findInLine("[0-9]+|-"));
  in.nextLine();
}

Без дополнительного контекста, что вы хотите сделать, мы не исправим ваш код.

0
ответ дан cmoetzing 22 March 2019 в 11:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: