почему не компилирует ? not a statement На 24 и 25 строках
Anonymous #2556555
11 уровень
в чем ошибка 24 и 25 строки ?
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
15 марта 2023, 20:42
== это сравнение, = присваивание
0
Anonymous #2556555Expert
15 марта 2023, 21:56
почему ошибку выдает, ошибку с присвоением исправил
0
hidden #598481
15 марта 2023, 22:05
Потому что нельзя вызывать метод у переменной, если в переменной содержится null. А он там будет содержаться после присвоения, на следующем шаге. Подумай, что с этим делать
0
Anonymous #2556555Expert
16 марта 2023, 08:55
break; ? так ?
0
hidden #598481
16 марта 2023, 09:18
Нет, если прервать внутренний цикл, то ты не продолжишь искать совпадения дальше, а вдруг они есть?
Твоя ошибка в том, что ты присваиваешь значение current внутри внутреннего цикла. Из-за этого, после того, как выполнится if, на следующем шаге цикла значение переменной current станет равно null, ведь ты сначала поместил null в элемент strings[i], а потом заново присвоил значение strings[i] (т.е. null) в переменную current. А цель вообще иметь отдельную переменную для хранения исходного значения как раз в том, чтобы оно не изменилось вместе с обнулением strings[i].
Поэтому тебе нужно сделать две вещи: перенести инициализацию current во внешний цикл, до внутреннего, чтобы значение current не зависело от происходящего во внутреннем цикле, а во внутреннем цикле добавить проверку, что current изначально не равно null.
0
Anonymous #2556555Expert
16 марта 2023, 09:40
сделал так , тоже неправильно ?
0
hidden #598481
16 марта 2023, 10:00
Проверку на null ты сделал правильно, но объявление и инициализация current должна идти до второго for, во внешнем цикле. И выше я объяснил почему.
Всё остальное ок.
0